我知道这是一个简单的INNER JOIN语句,只是语法不正确。
情况是这样的,表1(AllUserData)包含INT7和INT6字段。基本上,INT7是“请求者”,而INT6是“请求”。这2个字段包含一个ID。表2(UserInfo)的字段tp_ID包含其ID,tp_Title是其名称。
我目前拥有的是:
SELECT alluserdata.int7, alluserdata.int6, UserInfo.tp_ID,
userinfo.tp_Title
FROM alluserdata
INNER JOIN UserInfo on AllUserData.int7 = UserInfo.tp_ID or
AllUserData.int6 = UserInfo.tp_ID
问题在于,输出将在两行上。一行将显示“ Requested by”名称(int7),而一行将显示“ Requested for”名称(int6)。我希望这些条目在同一行。
答案 0 :(得分:1)
您需要两次JOIN
:
SELECT a.int7, a.int6,
u1.tp_ID, u1.tp_Title,
u2.tp_ID, u2.tp_Title
FROM alluserdata a
LEFT JOIN UserInfo u1 on a.int7 = u1.tp_ID
LEFT JOIN UserInfo u2 ON a.int6 = u2.tp_ID
WHERE u1.tp_ID is not null or u2.tp_ID is not null;