好的,我有這種表如何檢索從同一個表(MYSQL)中的其他行取值的行?
ControlID - Version - Type - Rel ID - Parent Rel ID 1 - 2 - 11 - 212 - 5 1 - 2 - 44 - 542 - 5 1 - 2 - 47 - 742 - 5 2 - 2 - 11 - 200 - 4 2 - 2 - 14 - 565 - 4 2 - 2 - 20 - 700 - 4
如在上表中表明,我們已在2塊的數據(注意:相對ID是唯一的):
塊1
ControlID - Version - Type - RelID - ParentRelID 1 - 2 - 11 - 212 - 5 1 - 2 - 44 - 542 - 5 1 - 2 - 47 - 742 - 5
2座
ControlID - Version - Type - RelID - ParentRelID 2 - 2 - 11 - 200 - 4 2 - 2 - 14 - 565 - 4 2 - 2 - 20 - 700 - 4
好了,現在用戶將輸入任何relID &系統將在輸入relID的相同塊中顯示類型= 11的Rel ID
。
例如:如果用戶輸入700
,則它將知道700
屬於塊2 &那麼它將查詢的類型=在塊11 2 &印出200
練習2:如果用戶輸入742
,那麼它就知道742
屬於塊1 &那麼它將在塊1個&打印搜索類型= 11了212
這是我的查詢,但是我覺得它太長&可能會很慢。
Select relID from mytable where controlID = (select controlID from mytable where relID=700)
and
version= (select version from mytable where relID=700)
and parentRelID= (select parentRelID from mytable where relID=700)
and type=11
上面的查詢工作,但過長&也許慢,你可以把它縮短&使其運行速度更快?
控件ID可以在其他塊重複說塊3例如 – Tum
第二查詢運行速度比第一個查詢? – Kiti
如果'controlId'可以在另一個「Block」中重複,那麼什麼定義了一個「Block」?如果它不是'ControlId',那麼我提供的這些查詢將不適用於這些場景。至於性能差異,看看查詢計劃,看看爲什麼... –