我需要这样查询:
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 中取出所有列。我怎样才能在不指定所有这些的情况下做到这一点?
最佳答案
如果 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 中所述的评论,这不是生产中的好习惯。现在,随心所欲! ;)
关于SQLite - 左连接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19635387/