我正在尝试连接mysql
中的两个表。但是,我得到了重复的值。这个SQLFIDDLE将澄清我的意思。
结果,您可以看到TW_ID
和PFC_ID
。我只需要(1, 1), (11, 11), (21, 21)
等等。现在我要(1, 1), (1, 11), (1, 21), ...
我正在使用这个查询:
SELECT tw.id as tw_id, pfc.id as pfc_id
FROM account_treasury_wholesale tw
INNER JOIN purchase_foreign_currency pfc
ON tw.wholesaler_id = pfc.currency_supplier_id
WHERE tw.wholesaler_id='11'
如果你需要更多的澄清,请告诉我。谢谢
要么加入ON tw.id=pfc.id
,要么如果这不适用,您可能需要修改您的模式。
这就是当您加入ON tw.wholesaler_id = pfc.currency_supplier_id
:时会发生的情况
- 从
tw
表中检索到的第一行是tw.id=1
(因为您的WHERE
子句) - 该行的
tw.wholesaler_id
是11,因此它将在pfc
表中查找pfc.currency_supplier_id
也等于11的行,即4行(id
等于1、11、21、23)。因此,叉积将是(1, 1)
、(1, 11)
、(1,21)
、(1,23)
- 检索
tw
表中的下一行,并对pfc
表进行相同的搜索,这将导致(11,1), (11,11), (11,21), (11,23)
我承认我不完全理解你想做什么。多解释一下可能会有所帮助。