各位大佬,有個sql的問題想請教一下。比如顧客表內有cust_Id,cust_info兩列。分別資料是123,food;123,null;124,null;125,null;
我要把里面cust_info都是null的cust_id選取出來結果是124,125。而不是123,因為123有一個cust_info是有值的。
我想到的是為空的cust_id去left join 有值的cust_id。
想請教一下有木有更簡化的辦法,謝謝各位大神~~
uj5u.com熱心網友回復:
不知道您需要什么格式,寫了2個,您看看哪個是您需要的。SELECT t.cust_id FROM (
SELECT t.cust_id,MAX(t.cust_info) m FROM (
SELECT '123' cust_Id,'food' cust_info FROM DUAL UNION ALL
SELECT '123',NULL FROM DUAL UNION ALL
SELECT '124',NULL FROM DUAL UNION ALL
SELECT '125',NULL FROM DUAL ) t GROUP BY t.cust_id) t WHERE t.m IS NULL ;
SELECT GROUP_CONCAT(t.cust_id) FROM (
SELECT t.cust_id,MAX(t.cust_info) m FROM (
SELECT '123' cust_Id,'food' cust_info FROM DUAL UNION ALL
SELECT '123',NULL FROM DUAL UNION ALL
SELECT '124',NULL FROM DUAL UNION ALL
SELECT '125',NULL FROM DUAL ) t GROUP BY t.cust_id) t WHERE t.m IS NULL ;
uj5u.com熱心網友回復:
select * from table where cust_info is null轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/65355.html
標籤:MySQL
下一篇:求幫忙,關于查詢每天出現的SQL
