簡體   English   中英

mysql where子句基於另一個查詢

[英]mysql where clause based on another query

我試圖讓一個查詢而不是兩個查詢工作,第一個查詢創建一個數組,然后遍歷另一個查詢。

第一個查詢返回一組用戶,然后我想根據這些用戶查詢另一個表,經過一些研究,我最終得出了這個結論,但是它不起作用...

SELECT FreeText, (
    SELECT EmailAddress FROM customers WHERE AccessLevel = 'callcentre'
) AS User FROM orders WHERE FreeText = User

我希望做一個查詢,但是如果那不可能,那么我將使用第一個創建和數組解決它,然后遍歷第二個

任何幫助表示贊賞

示例結果,用戶將包含名稱,例如lsmith,nrowe,pmerle

然后第二個查詢將撤消將它們設置為FreeTxt的訂單行

表結構示例

customers table
Id, Email,  Add1,        Add2    ect...
23, lsmith, someaddress, road...

Orders
Id, customerId, FreeTxt, Product
54, 23,         lsmith,  mob

在測試期間我只要求FreeTxt的訂單的輸出將是lsmith + Id

子查詢不是必需的,您可以對內部聯接執行相同的操作
但請確保orders.FreeText = customers.EmailAddress確實匹配

  SELECT orders.FreeText, customers.EmailAddress
  FROM orders
  INNER JOIN customer on orders.FreeText  = customers.EmailAddress 
        and customers.AccessLevel = 'callcentre';

暫無
暫無

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

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