2016-05-21 4 views
1

複数の異なるテーブルに同じ名前の列があります。 JavaScriptを使用してフィールドを含むオブジェクトを送信すると、Node.jsパッケージは名前を持つ配列を作成します。したがって、2つの列の名前が同じ場合は、最後の値が配列に格納されているようです。テーブル固有の列を選択

私は私の値を返すこのクエリ

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 

にそれを変更し、それはまた、正常に動作します。しかし、私は別のテーブルから2つの列を区別する必要があった。試しました

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

+0

「SELECT C.Nom、E.Caution、E.Kilometrage」に変更するとどうなりますか? – Arulkumar

+0

それは動作します...そして、今私は愚かな感じが、まだ私はそれがそのように動作するのか分からない。エイリアスは元の名前を完全に置き換えますか?または、なぜ私はフルネームを使用することができないいくつかの曖昧な理由はありますか? – Dranna

答えて

1

タブ名の代わりに、列名に別名を使用できます。

SELECT C.Nom, E.Caution, E.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 
関連する問題