我该如何做到这一点,但避免错误column common_reference is ambiguous
?我知道它含糊不清,我想从table_one中选择common_reference的所有结果,并且table_two相同。
SELECT * FROM table_one, table_two WHERE common_reference = 42
这显然不起作用,所以我如何使用子查询来实现我的需要呢?
答案 0 :(得分:0)
从...开始
SELECT * FROM table_one, table_two WHERE table_one.common_reference = 42
...继续这条路:
SELECT * FROM table_one as T1, table_two as T2 WHERE T1.common_reference = 42
答案 1 :(得分:0)
SELECT table_one.* FROM table_one, table_two WHERE table_one.common_reference = 42
答案 2 :(得分:0)
如果您的SQL中存在无法解决的歧义,MySQL会通过错误通知您。
如果要引用另一个表中也存在的特定字段(如果您正在进行连接,则为同一个表),请使用完全限定字段
SELECT * FROM table_one, table_two WHERE table_one.common_reference = 42
和/或表别名
SELECT * FROM table_one T1a, table_one T1b WHERE T1a.common_reference = 42
注意:公平警告,正如Mchl所说,这些是笛卡尔积,而不是典型的连接。
答案 3 :(得分:0)
正如Mchl在评论UNION
中所建议的那样是解决方案。