[英]How can I use the result of a SQL query in another SQL query
我正在使用MySQL在vb.net中編寫票務程序。
我想是使用Statename的票證可以有(開啟/關閉/暫停/等),我從查詢中1得到的,並用它在查詢2中得到的所有statenames的列表,與第一的結果作為第一項查詢。
我現在互相使用2個查詢,但是我敢肯定它可以在1個查詢中完成。
查詢1:
SELECT StateName
FROM Tickets t
JOIN States s
ON s.stateID = t.StateID
WHERE TicketNumber = & *intTicketNumber*
->結果=“打開”
查詢2:
SELECT StateName
from States
ORDER
BY(case when StateName = '" & *StrStateName* & "' then 0 else 1 end)
, StateName desc
組合查詢的所需結果應為:
如何將兩個查詢結合在一起? 任何幫助將不勝感激!
States
作為最左邊的表,並在stateID
和TicketNumber
上對Tickets表進行LEFT JOIN
。 在Join條件下匹配TicketNumber
,而不是Where
。 States
作為最左邊的表格將確保所有StateName值都將被考慮。 t.StateId
將為NULL
(在LEFT JOINing之后),一個StateName(當前分配給Ticket)除外。 t.StateId
進行排序。 票證的當前StateName將首先出現在列表中,其余的將排在后面。 嘗試使用左連接:
SELECT s.StateName
FROM States AS s
LEFT JOIN Tickets AS t
ON s.stateID = t.StateID AND
t.TicketNumber = $intTicketNumber -- $intTicketNumber is the input variable
ORDER BY t.StateID DESC,
s.StateName DESC
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.