如何从表中获取值

时间:2016-09-16 14:37:21

标签: mysql sql

我正面临着sql查询问题。 以下是表格结构

我们有表tbllogin,我们维护所有类型的用户,如用户,管理员和供应商列 userId(pk),姓名,电子邮件。

我们有另一个表tbltransaction,我们维护用户列的事务,如

id(pk)userId(fk-> tbllogin)vendorId(fk-> tbllogin)

我想根据userId和tbltransaction的vendorId将名称显示为userName,名称为vendorName,将电子邮件显示为来自tbllogin的vendorEmail

这里tbltransaction中的两列引用了两个相同的表tbllogin

请帮我解决此查询问题。

我还附上了样本表结构的图像,以便更清晰 tbllogin tbltransaction

2 个答案:

答案 0 :(得分:0)

这样的东西?

SELECT u.Name as userName, v.Name as vendorName, v.email as vendorEmail
FROM tbltransaction t
LEFT JOIN tbllogin u
ON t.userId = u.userId
LEFT JOIN tbllogin v
ON t.vendorId = v.userId

答案 1 :(得分:0)

这应该有效:

 select Id, lu.name as userName, lv.name as vendorName, lv.email as vendorEmail
 from tbltransaction as t
 join tbllogin as lu on (lu.Id = t.userId)
 join tbllogin as lv on (lv.Id = t.vendorId)