私は2つのテーブルを持っています。SQLクエリのヘルプ
デバイス
- のDeviceID
- DeviceNameの
と
DeviceAttribute
- DeviceAttributeId
- Attributeid
- DEVICEID 今
が、私は、属性IDの数に渡す、と私はすべてのIDが渡されているすべてのデバイスを検索したい、クエリを記述しようとしています。
私はXMLとしてIDを渡しています。このデータを一時テーブルに変換することができます。このテーブルは、独自の行にあるそれぞれのIDです。
ので、この時点で、私は一致するすべての属性がテーブルにあると仮定 -
のでTABLE #TempAttribute(AttributeId int型)
をCREATE、私はすべてのデバイスを検索することもできますこれは持ってattributeIds 3,34および67
私はすべてのデバイスが1列に属性ID連結クエリを持っているが、これは正しい方向に向かっている場合、私はわからない:
SELECT deviceID
, [Name]
, (SELECT CAST(cast(attributeID as varchar(10)) + ', ' AS VARCHAR(MAX))
FROM deviceattribute
WHERE (deviceID = device.deviceID)
order by attributeID
FOR XML PATH ('')
) AS attribs
FROM device
誰かが助けてくれることを願っています。
私はあなたがこれをオーバーコンプリートしていると思います... – JNK
私は確かにありました!私は完全に間違った道を下っていて、明白な解決策は考えていませんでした! – mp3duck