0

我有一个简单的 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

我已经尝试了十几件事,但无法让它工作,我有点想再次给我组名选项,但不确定语法是什么!:(

提前感谢您的时间和帮助

4

1 回答 1

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
于 2013-07-17T11:59:50.123 回答