我的数据库中有两个表如下所示:
TABLE1
user_id
value1
value2
TABLE2
user_id
value3
value4
我想进行一个查询,以获取表1和表2中用户id为1的所有行。
我做过:
SELECT TABLE1.user_id,TABLE1,value1, TABLE1.value2, TABLE2.value3, TABLE2.value4
FROM TABLE1
INNER JOIN TABLE2
ON TABLE1.user_id = TABLE2.user_id
WHERE TABLE.user_id = 1
但是我得到一行中的所有值,我想从用户id=1的那两个表中得到所有不同的行。。
谢谢你的帮助。
1条答案
按热度按时间bqucvtff1#
使用
union all
:您没有准确指定要获取的结果集。这将提供一个由4列组成的数据集,其中第一列包含找到用户的表的名称。第3列和第4列包含
value1
以及value2
(如果行来自table1
),或value3
以及value4
(如果行来自table2
).只有当
value1
以及value3
(分别。value2
以及value4
)具有相同的数据类型(和长度)。如果不是这样,那么最好在结果集中有单独的列: