我试图两次连接同一张表而没有成功。我有两张桌子。
表格1
ID
替代者
取而代之
表2
产品编号
产品名称
如何在同一个查询中两次联接table2,所以我可以看到
Replacer ProductName and replacedBy ProductName
我尝试了内部联接,但是只能获得属于“ replacedBy”的产品名称。如何参加两次,这样我才能看到属于“ replacedBy”和“ replacer”的产品名称
选择
table1.Replacer,
表1。
table2。产品名称
来自表1
table1上的内部联接table2.ReplacedBy = Standards.ProjectNr
;
最佳答案
假定Standards.ProjectNr
是一个编辑错误,您打算用虚拟的table.column
名称替换,那么您可以尝试以下操作:
SELECT t1.id, r.ProductID as replacer_ID, r.ProductName as replacer,
b.ProductID as replacedBy_ID, b.ProductName as replacedByName
FROM table1 t1
INNER JOIN table2 r ON t1.replacer = r.ProductID
INNER JOIN table2 b ON t1.replacedBy = b.ProductID
如果要获取table1中的所有ID,则应将
INNER JOIN
替换为LEFT JOIN
。但同样,样本数据会很好。
关于mysql - 从同一引号的同一列中找到两个值,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/57809979/