SQL加入相同的列id

时间:2013-07-17 11:55:02

标签: sql

我有一个简单的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选项,但不确定它的语法是什么! :(

提前感谢您的时间和帮助

1 个答案:

答案 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