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 回答