-2

2 つのテーブルがあり、そのうちの 1 つは従業員情報を保持し、もう 1 つは扶養家族の情報を保持します。各従業員の子供の名前をすべて取得し、それらを結果の 1 つのフィールドに結合するクエリを作成したいと考えています。

単一の結果を別のクエリのフィールドとして返すサブクエリを作成する方法は知っていますが、これを理解する運がありません。どんな提案でも大歓迎です。

テーブル: [ID] プライマリ [sponsorID] foriegn によってリンクされた tblPersonnel、tblFamilyData

望ましい出力:

従業員名 | 住所 | KidName1、KidName2、KidName3
4

3 に答える 3

0
SELECT EmployeeName, Address,
(Select KidName + ',' 
 From tblFamilyData K
 Where K.EmployeeID = P.EmployeeID
 For XML PATH ('')) AS kids
FROM tblPersonnel P

完全なスキーマを指定していないため、正確な列が何であるかはわかりませんが、これが概念です..

于 2013-09-12T06:25:10.293 に答える
0
select EmployeeName,Address,(select STUFF((select ',' + firstname+ '' from tblFamilyData ts 
    where a.ID=ts.SponsorID for xml path(''), type).value('.', 'varchar(max)'), 1, 1, '')) as KidName from tblPersonnel a

このクエリは、1 つのテーブルから名前と住所を選択し、最初のテーブル ID im を使用して 2 番目のテーブルからデータを取得し、xml を使用して値を連結します。

于 2013-09-12T06:20:02.470 に答える
-1
Select tblPersonnel.EmployeeName, tblPersonnel.Address, tblFamilyData.KidName from tblPersonnel, tblFamilyData where tblPersonnel.ID = tblFamilyData.sponsorID;
于 2013-09-12T06:21:46.950 に答える