У меня есть столбцы в нескольких таблицах с одинаковыми именами. Я использую JavaScript для отправки объекта, содержащего поля, пакет Node.js
создает массив с именами, поэтому, если два столбца имеют одинаковое имя, значение последнего похоже помещается в массив.Выберите столбец для конкретной таблицы
Я имел этот запрос
SELECT *
FROM FACTURATION AS F
LEFT JOIN ENREGISTREMENT AS E ON F.Enregistrement=E.Numero
LEFT JOIN RESTITUTION AS R ON F.Restitution=R.Numero
LEFT JOIN RESERVATION AS X ON F.Numero=X.Facturation
LEFT JOIN CLIENT AS C ON X.Numero_Client=C.Numero
который возвращает мои ценности. Зная, что Select *
не является хорошей практикой, я изменил его на
SELECT Nom, Caution, Kilometrage
FROM FACTURATION AS F
LEFT JOIN ENREGISTREMENT AS E ON F.Enregistrement=E.Numero
LEFT JOIN RESTITUTION AS R ON F.Restitution=R.Numero
LEFT JOIN RESERVATION AS X ON F.Numero=X.Facturation
LEFT JOIN CLIENT AS C ON X.Numero_Client=C.Numero
И это прекрасно работает. Но тогда мне нужно было отличить два столбца от разных таблиц. Я попробовал
SELECT CLIENT.Nom, ENREGISTREMENT.Caution, ENREGISTREMENT.Kilometrage
FROM FACTURATION AS F
LEFT JOIN ENREGISTREMENT AS E ON F.Enregistrement=E.Numero
LEFT JOIN RESTITUTION AS R ON F.Restitution=R.Numero
LEFT JOIN RESERVATION AS X ON F.Numero=X.Facturation
LEFT JOIN CLIENT AS C ON X.Numero_Client=C.Numero
И он ничего не возвращает. Даже если я выбираю только CLIENT.Nom
, он не работает при выборе Nom
работает отлично. Я использую пакет sqlite3
от Node Package Manager
Что произойдет, если вы измените на 'SELECT C.Nom, E.Caution, E.Kilometrage'? – Arulkumar
Он работает ... И теперь я чувствую себя глупо, и все же я не знаю, почему он так работает. Выполните ли псевдоним полностью оригинальное имя? Или есть какая-то непонятная причина, почему я не могу использовать полное имя? – Dranna