簡體   English   中英

使用第一條 SQL select 語句結果用於第二條 select 語句

[英]Using 1st SQL select statement results for 2nd select statement

我需要一些幫助將多個 SQL 查詢合並為一個...

我有一個用於 orderid 或 sampleref 的搜索框。 一個訂單中最多可能有 99 個 sampleref,因此我希望客戶能夠提取與其訂單號相關聯的所有 sampleref 的列表,無論他們是通過 orderid 還是其中一個 sampleref 進行搜索。 基本上我想做的是,

SELECT `orderid` as OrderNumber FROM `results` WHERE `sampleref` = 'TEST12345';
SELECT * FROM `results` WHERE `orderid` = OrderNumber GROUP BY `sampleref`;

為了清楚起見,我將其放入 Maria DB mysql 服務器的 PHP 腳本中

這是一個示例數據庫

+----+---------+-----------+
| id | orderid | sampleref |
+----+---------+-----------+
|  1 |  101388 | TEST12345 |
|  2 |  101388 | TEST54321 |
|  3 |  333444 | ABC123    |
|  4 |  333444 | ABC321    |
+----+---------+-----------+

謝謝

亨利

以下將為您提供您正在尋找的內容。

select r2.orderid, r2.sampleref 
from result r 
join result r2 on r.orderid = r2.orderid 
where r.sampleref = 'TEST12345' or r.orderid = <orderid>

您可以使用or與相關子查詢一起使用:

SELECT r.*
FROM results r
WHERE r.orderid = $orderid OR
      EXISTS (SELECT 1
              FROM results r2
              WHERE r2.orderid = r.orderid AND r2.sampleref = $sampleref
             );

注意:這需要兩個參數——訂單 ID 或樣本參考。 第一個條件返回具有相同順序的所有內容(如果已給出)。 第二個返回與給定樣本參考具有相同順序的所有內容。

暫無
暫無

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

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