sql连接多个唯一键上的相同表

时间:2017-03-17 17:28:51

标签: sql

我有两个SQL查询,我试图并排获得结果,所以我可以进行比较。

当我进行子查询时,我得到错误重复数据。问题是我在两个不同的唯一键中加入相同的表,以获取唯一的数据。

我想要的结果是

Tw | W 
=======================


SELECT W.category AS 'TW'
FROM   W,R
WHERE  W.wc=R.tw 



SELECT  W.category AS 'W'
FROM R,W
WHERE  W.wc=R.wc

1 个答案:

答案 0 :(得分:0)

有了这样一个高度消毒的查询,因此没有关于W和R是什么的信息,我必须做一些小心灵的阅读。我想你想要的是并排比较W中使用R.wc和R.tw通过R交叉引用的两个记录的类别。这并不难:

SELECT R.id, TW.Category as TW, WC.Category as W
FROM R
JOIN W as TW ON TW.wc = R.tw
JOIN W AS WC ON WC.wc = R.wc

如果您真的不关心R,除非作为W中两个记录之间的交叉引用,那么只需从选择列表中删除第一列,您就可以获得所需的两列。