我正在尝试连接 mysql
中的 2 个表。但是,我得到了重复的值。这个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)
...
我承认我不完全理解你想要做什么。更多解释可能会有所帮助。
关于php - 连接mysql中的两个表给出重复的结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28369372/