我有一个简单的SQL查询,我可以正确地解决问题。我把这样的测试数据库放在一起;
TABLE MAIN
id name groupone grouptwo
1 Fred 1 3
2 bob 2 1
TABLE DETAIL
id group groupname
1 1 onegrp
2 2 twogrp
4 3 threegrp
我的选择查询是;
SELECT name, groupone, grouptwo, groupname
FROM main
INNER JOIN detail
ON main.groupone = detail.group
WHERE main.id = 1
我得到的结果是;
id name groupone grouptwo groupname
1 fred 1 3 onegrp
如何更改此内容而不是将结果显示为1和3。 我得到了... fred onegrp,threegrp
我已经尝试了十几件事,但无法让它工作,我想再给我一个groupname选项,但不确定它的语法是什么! :(
提前感谢您的时间和帮助
答案 0 :(得分:4)
我认为这就是你所追求的。您需要在两个不同的键上加入详细信息表两次。
SELECT
m.Name
,a.groupname as 'GroupOne'
,b.groupname as 'GroupTwo'
FROM
main m
INNER JOIN
detail a
on m.groupone = a.group
INNER JOIN
detail b
on m.grouptwo = b.group
WHERE
m.id = 1