0
내가 조직 SQLite는 파일에 두 테이블이 조인 노드 이름 SQLite는 : 왼쪽에 LIMIT는 다음과 같이
- TNODE, 우선 순위, 부모 노드에 대한 참조 노드는 여러 항목을 가질 수 있습니다. 없이 (
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 열을 사용할 수없는 것 같습니다.
열당 하나의 하위 쿼리를 만들 필요없이 어떻게이 작업을 수행 할 수 있습니까?
나는 이미 그것을 시도하고 그것은을 반환하지 않는 서브 쿼리에서 LIMIT 1 일부터 작동하지 않습니다 row ** tItem.node **는 ** tNode.node **와 일치합니다. 조회가 끝나면 항목 데이터가없는 노드 목록이 반환됩니다 (단 하나 제외). – JackoBongo
예, 맞습니다. 잘못된 시도를했습니다. 하위 쿼리는 한도로 결과를 반환 한 다음 가입합니다. 결과가 1 개뿐입니다. 대신 LIMIT을 삭제하고 그룹을 사용하십시오. 잠시 후 답변을 수정하고 시도해 보겠습니다. –
그러나 이것은 작동하지만 iItem 테이블에서 추가 열을 가져와야합니다. 또한, 우선 순위에 관계없이 하위 쿼리에서 한 행을 반환해야합니다. – JackoBongo