things
でリストされたアイテムでいっぱいのテーブルが1つありますItemID
。ItemIDが与えられた場合、ItemIDを持つレコードと、同じである他のすべてのアイテムを取得する必要がありますname
。
以下のサンプルデータでは、ItemIDが1の場合、ItemID 1のレコードを含め、ItemID 1と同じ名前(この場合は「poptarts」)のすべてのレコードを選択する必要があります。
ItemID = 1 name = poptarts
ItemID = 7 name = poptarts
ItemID = 8 name = cheddar
ItemID = 323 name = poptarts
select a.ItemID, a.name from things where a.ItemID = '1'
UNION
select b.ItemID, b.name from things where b.name = a.name
ただし、上記で記述したSQLは、2番目のselectにa.nameを渡しません。名の値を2番目の選択に渡す方法はありますか?ステートメントが最初の行としてitemid=1を返し、他の行として7と323を返すようにしたいと思います。