次のように編成された SQLite ファイルに 2 つのテーブルがあります。
- ノード名を含むtNode
- 名前、優先度、およびその親ノードへの参照を含むtItem 。ノードには複数のアイテムを含めることができます。
ノードとその項目を一覧表示するには、単純な JOIN クエリを作成するだけです。
SELECT tNode.node, ..., tItem.itemName, tItem.itemPriority, ...
FROM tNode
LEFT JOIN tItem ON tItem.node=tNode.node
ORDER BY tNode.node
しかし、今では優先度に関係なくアイテムを含むノードのリストが必要です(リストに重複ノードはありません)。次のクエリを使用できると思いました。
SELECT tNode.node, ..., tItem2.itemName, tItem2.itemPriority, ...
FROM tNode
LEFT JOIN
(SELECT itemName,itemPriority FROM tItem WHERE tItem.node=tNode.node LIMIT 1)
AS tItem2 ON tItem2.node=tNode.node
ORDER BY tNode.node
しかし、これは機能しません (「そのような列はありません: tNode.node」)。サブクエリで tNode.node 列を使用できないようです。
列ごとに 1 つのサブクエリを作成せずにこれを達成するにはどうすればよいですか?