对于我的问题的第一部分,我发现了一个类似的旧问题并且已经接受了答案,但解决方案不起作用 - > Search multiple tables for the same value
所以接受的答案是:
SELECT * FROM table_one, table_two WHERE field = 'some_val'
当我尝试过时,我遇到了这个错误
列'字段' in where子句不明确
我试图用以下方法解决这个问题:
SELECT
*
FROM
table_one,
table_two
WHERE
table_one.field = 'some_val'
OR table_two.field = 'some_val';
解决了上述错误但结果是:table_one和table_two中的所有条目都没有
我必须在我的测试中澄清找到&some;它存在于table_one中,不存在于table_two
中所以这是我提问的第一部分。
第二部分。
假设第一部分有解决方案,问题的第二部分将是:
如何检查结果来自哪里? ......在哪里' some_val'已被发现? (在table_two中的table_one或两者中)?
答案 0 :(得分:3)
使用union来解决您的问题。您可以在this link
中找到有关union
的更多详细信息
SELECT
table_one.col_1,
table_one.col_2,
'table_one' AS from_table
FROM
table_one
WHERE
table_one.field = 'some_val'
UNION
SELECT
table_two.col_1,
table_two.col_2,
'table_two' AS from_table
FROM
table_two
WHERE
table_two.field = 'some_val'