Mysql

同一表中不同類型的 SQL 2 列 - 使用“未知”金額

  • February 25, 2020

我對 SQL 很陌生,現在我一直在尋找答案,似乎找不到。

我有 1 個包含 3 列的 CustOrders 表。

表客戶訂單

  • 名稱(varchar)
  • Number_Orders (整數)
  • order_date(日期時間)

問題

我想獲得訂單少於特定客戶“x”的客戶列表。我該怎麼做呢?

選擇語句

我嘗試了這個邏輯,它似乎不起作用,可能全錯了,它是:

SELECT name, number_orders
FROM custOrders
WHERE number_orders < (select number_orders from custOrders where name = 'x');

它返回了一個空集,它不應該是空的,因為我知道那裡有訂單較少的客戶。

你能幫我解決這個問題嗎?

我正在使用 MariaDB。

SELECT t1.*
FROM custOrders t1, custOrders t2 
WHERE t1.number_orders < t2.number_orders 
 AND t2.name = 'x';

PS。custOrders.name必須由相應的索引定義為唯一的。

引用自:https://dba.stackexchange.com/questions/260562