簡體   English   中英

一棵樹的SQL查詢的孫女

[英]Granddaughter of a tree SQL Query

誰能幫我寫出此特定輸出的sql代碼,請:

列出位於同一位置的樹(即tr_loc值相同),其中一棵樹是另一棵樹的孫女。 表數據

這是我想出的,但是我確定這是錯誤的:

SELECT tr_loc a, tr_loc b,  Tr_numb, Tr_forest 
FROM Tree
WHERE a.tr_loc = b.tr_loc 
  AND a.TR_parent = b.Tr_numb;

我認為這就是您要查詢的內容:

SELECT
a.tr_numb AS granddaughter
,c.tr_numb AS grandfather
,a.tr_loc
,a.Tr_forest

FROM
Tree a, Tree b, Tree c

WHERE
a.tr_parent = b.tr_numb
AND b.tr_parent = c.tr_numb
AND a.tr_forest = c.tr_forest
AND a.tr_loc = c.tr_loc

注意abc是表Tree別名。 那是一種自我加入 我將在此處保留該查詢,以便您可以嘗試查看哪里出錯了。

但是,我不建議使用該語法進行JOIN。 最好學習更明確的語法。 這是我編寫查詢的方式:

SELECT
Tree.Tr_numb AS tree
,Parent.Tr_numb AS parent
,Grandparent.Tr_numb AS grandparent
,Tree.tr_forest
,Tree.tr_loc

FROM
Tree
INNER JOIN Tree [Parent] ON (Parent.Tr_numb = Tree.Tr_parent)
INNER JOIN Tree [Grandparent] ON (Grandparent.Tr_numb = Parent.Tr_parent)

WHERE
Tree.Tr_loc = Grandparent.Tr_loc

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM