我这里有问题。
我有两张桌子要加入group by.
tbl_1
NO userID users status branchID
1 1 abc ok 2
2 2 da ok 1
3 3 fe ok 3
4 1 abc ok 1
5 3 fe ok 2
tbl_2
branchID branch
2 medan
1 jakarta
3 batam
我需要根据branchID
显示用户和分支,我认为这将使用group by。怎么做?
我希望输出不是重复的用户显示,什么时候选择。
output
user branch
abc medan,jakarta
fe medan,batam
由于
答案 0 :(得分:2)
这不是非常优雅,但会根据您的数据和输出完成工作
SELECT DISTINCT Users,
STUFF((
SELECT ', ' + branch
FROM(
SELECT DISTINCT Users,
branch
FROM #tbl_1 t1
INNER JOIN #tbl_2 t2 ON t1.branchID = t2.branchID ) A
WHERE A.users = T.users
FOR XML PATH( '' )),1,2,'' ) AS Branches
FROM #tbl_1 T;
答案 1 :(得分:0)
试试这个:
select t1.users , t2.branch
from tbl_1 t1 inner join tbl_2 t2
on t1.branchID=t2.branchID
group by t1.users , t2.branch;
答案 2 :(得分:0)
select distinct tbl_1.userID, tbl_1.users, tbl_1.status, tbl_1.branchID, tbl_2.branch
from tbl_1
left join tbl_2
on tbl.branchID = tbl_2.branchID
这只会显示所有具有不同价值的字段。