我在vb.net和SQL中有一个查询。
我有2张桌子
学生,其列类似
s_id, name, address, gender, contact, class,
主题,其中包含以下列:
s_id, subject1
s_id, Subject2
s_id, Subject3
现在我想将结果合并为
s_id, name, address, gender, contact, class, subject1, subject2, subject3
每个学生。
请帮助我解决问题。
非常感谢...
答案 0 :(得分:0)
不确定确切要寻找什么。检查是否有帮助。
Select s_id,name,address,gender,contact,class,Subject1,Subject2,Subject3
from
(
SELECT stu.s_id,stu.name,stu.address,stu.gender,stu.contact,stu.class,sub.subject from Student stu
join Subject sub on (stu.s_id = sub.s_id)
) p
PIVOT
(
COUNT(subject)
FOR subject in ([Subject1],[Subject2],[Subject3])
) as pvt
以上查询将为您提供以下结果。 s_id名称地址性别联系人类别Subject1 Subject2 Subject3
1名称1地址1 F A 1 1 0
2 Name2 Address2 M A 0 0 1
3名称3地址3 F B 0 0 0