1

これをできる限り説明させてください。これはSQL Serverに関するものです。

参加者ごとに 1 つのレコードを持つメイン テーブルと、参加者ごとに MOST 5 レコードを持つサブ テーブルがあります。

メイン テーブル内のすべてのレコードと、SELECT クエリの同じレコード内の参加者ごとのサブ テーブル レコードを返すことができる必要があります。

例:

Main Table:
   Participant_ID,
   Program
Sub Table:
   Participant_ID,
   Skill_Set_ID,
   Rating

SQL Query results:
    Participant_ID, Program, Skill_Set_ID_1, Rating_1, Skill_Set_ID_2, Rating_2, Skill_Set_ID_3, Rating_3, Skill_Set_ID_4, Rating_4, Skill_Set_ID_5, Rating_5

基本的に行から列へのアイデア。

どうすればこれを行うことができますか? 私は完全に途方に暮れています

4

2 に答える 2

1
select mt.Participant_ID, mt.Program, 
       st1.Skill_Set_ID as Skill_Set_ID_1, st1.Rating as Rating_1, 
       st2.Skill_Set_ID as Skill_Set_ID_2, st2.Rating as Rating_2, 
       st3.Skill_Set_ID as Skill_Set_ID_3, st3.Rating as Rating_3, 
       st4.Skill_Set_ID as Skill_Set_ID_4, st4.Rating as Rating_4, 
       st5.Skill_Set_ID as Skill_Set_ID_5, st5.Rating as Rating_5, st5.Skill_Text
       st6.Skill_Set_ID as Skill_Set_ID_6, st6.Rating as Rating_6, st6.Skill_Text
       st7.Skill_Set_ID as Skill_Set_ID_7, st5.Rating as Rating_7, st7.Skill_Text
    from main_table mt
        left join sub_table st1
            on mt.Participant_ID = st1.Paticipant_ID
                and st1.Skill_Set_ID = 1
        left join sub_table st2
            on mt.Participant_ID = st2.Paticipant_ID
                and st2.Skill_Set_ID = 2
        left join sub_table st3
            on mt.Participant_ID = st3.Paticipant_ID
                and st3.Skill_Set_ID = 3
        left join sub_table st4
            on mt.Participant_ID = st4.Paticipant_ID
                and st4.Skill_Set_ID = 4
        left join sub_table st5
            on mt.Participant_ID = st5.Paticipant_ID
                and st5.Skill_Set_ID = 5
                and st5.Skill_Text = 'Skill A'
        left join sub_table st6
            on mt.Participant_ID = st6.Paticipant_ID
                and st6.Skill_Set_ID = 5
                and st6.Skill_Text = 'Skill B'
        left join sub_table st7
            on mt.Participant_ID = st7.Paticipant_ID
                and st7.Skill_Set_ID = 5
                and st7.Skill_Text = 'Skill C'
于 2010-11-08T20:46:06.680 に答える
-1
SELECT *
FROM Main_Table, Sub_Table
WHERE Main_Table.Participant_ID = Sub_Table.Participant_ID;

SQL Server は標準 SQL を使用しますか?

于 2010-11-08T19:20:44.147 に答える