12

次のようなクエリを作成する必要があります。

SELECT table1.*, table2.column 
FROM table1 
LEFT JOIN table2 ON table1.column = table2.column

しかし、それは機能していません。同じクエリを試してみて、最初の部分を置き換えた場合 -- >

SELECT table1.column, table2.column 
FROM table1 
LEFT JOIN table2 ON table1.column = table2.column

それは正常に動作します。table1 からすべての列を取得する必要があります。それらすべてを指定せずにどのように作成できますか?

4

1 に答える 1

16

table1とに同じ列名がある場合、table2のすべての列名を指定しないための解決策は次のとおりですtable1

SELECT table1.*, table2.column as my_column_name_no_in_table1
FROM table1 
LEFT JOIN table2 ON table1.column = table2.column

table1との列名table2がすべて異なる場合は、次を使用できます。

SELECT table1.*, table2.*
FROM table1 
LEFT JOIN table2 ON table1.column = table2.column

しかし、petermのコメントで述べたように、それは本番環境では良い習慣ではありません。さあ、思いのままに!;)

于 2013-10-28T13:01:44.667 に答える