回答
你還沒有付出太多的努力。
select id
from orders o
left join payments p
on p.order_id = o.id
where p.order_id is null
假設我有關係吧,這會給你所有的訂單已經沒有對他們支付的款項。
非常感謝! –
聽起來像你可以使用反連接模式,例如,
SELECT o.orderID
FROM orders o
LEFT
JOIN payments p
ON p.orderID = o.orderID
WHERE p.orderID IS NULL
,說從orders
獲得所有的行,匹配payments
一起。如果有orders
其中沒有匹配的payments
,則orders
的行將與NULL
值一起返回,替代payments
中的「缺失」行。 (關鍵字之前的關鍵字LEFT
JOIN
告訴MySQL做一個「外部連接」,即使表中沒有匹配的行,也會返回左側表中的所有行(否則將滿足謂詞)在右側)。
的「絕招」是WHERE子句,我們丟棄orders
在payments
有一個匹配行的任何行的謂語,留給我們orders
沒有任何匹配payments
。
還有其他的查詢模式可以達到相同的結果,例如, NOT IN (subquery)
,NOT EXIST (correlated subquery)
例如:
SELECT o.orderID
FROM orders o
WHERE o.orderID NOT IN
(SELECT p.orderID
FROM payments p
WHERE p.orderID IS NOT NULL
)
- 或 -
SELECT o.orderID
FROM orders o
WHERE NOT EXISTS
(SELECT 1
FROM payments p
WHERE p.orderID = o.orderID
)
我會盡快做到這一點,並張貼我的評論,非常感謝! –
再次感謝您的真正快速反應,並真正教會我一些東西!這是我...'選擇Order_t.OrderID FROM Orders_t LEFT JOIN ON Payment_t.OrderID = Order.OrderID WHERE IS Payment_t.OrderID Payments_t NULL' –
- 1. SQL:獲取所有客戶的最新付款?
- 2. Stripe-向客戶發送付款
- 3. PayPal付款客戶端REST腳本
- 4. Paypal API - 客戶接受來自其客戶的PayPal付款
- 5. 訪客的條紋付款
- 6. 通過SQL查詢獲取所有WooCommerce客戶付款訂單
- 7. 在Openerp的收款機中添加客戶付款樹
- 8. 如何向我的客戶支付Django PayPal付款方式
- 9. Doexpresscheckoutpayment付款未被用戶授權
- 10. 未在PayPal中列出的客戶預付款的付款頁面用於週期性開票
- 11. 在客戶端上創建付款並在服務器上執行付款
- 12. 獲取發票付款總額和每個客戶欠款
- 13. 電子商務客戶信用存款和付款
- 14. 預付款的嵌入式支付流程中的客戶支付支持
- 15. 付款和付款
- 16. 從客戶的卡支付款項並交給商戶
- 17. Magento:製作一種「未付款」付款方式,然後通過多筆付款逐漸獲得付款
- 18. 訂單未付款收到
- 19. Paypal網上未來付款
- 20. 通過PayPal帳戶創建定期付款的付款流程
- 21. 貝寶預付款付款
- 22. 使用PayPal付款付款
- 23. 批量付款付款
- 24. 平衡付款PHP客戶端:查詢結果觸發未捕獲的異常
- 25. 向客戶添加銀行帳戶(平衡付款API)
- 26. 如何使用Braintree在客戶端顯示客戶的付款方式?
- 27. 付款金額跟蹤sql
- 28. PayPal付款專業版和未來付款
- 29. 用Paypal付款給用戶
- 30. Mysql查詢:查找客戶W /訂單,但沒有付款
你爲什麼不能做自己?一個特定的問題?您當前的查詢出錯? –
你有多遠? 'SELECT o.orderID FROM orders o'? – spencer7593
我對SQL很陌生,所以我幾乎失去了。如果你需要我,我會在這裏放些東西,但它可能不對。 –