T1 ORDERS
ID CID STATUS COUNTRY
01 1 1 3
02 2 7 NULL
03 1 1 2
04 4 NULL -1
05 6 -1 3
06 1 3 2
07 4 2 4我需要找到所有的CID (客户ID),其中的订单状态= '1‘,并指定了国家。从上面的数据集中,应该返回CID 1 (CID 1有多个订单,但我只需要返回符合条件的CID,至少是一个顺序,而不是他的所有订单)。
我试过这个:
SELECT DISTINCT CID
FROM ORDERS
WHERE Status = '1' AND CONTRY IS NOT NULL AND COUNTRY != -1但根本不管用。
发布于 2021-06-07 09:04:37
对我来说很好。小心点..。
DROP TABLE IF EXISTS my_table;
CREATE TABLE my_table
(id SERIAL PRIMARY KEY
,cid INT NOT NULL
,status INT NULL
,country INT NULL
);
INSERT INTO my_table VALUES
(1 , 1 , 1 , 3),
(2 , 2 , 7 , NULL),
(3 , 1 , 1 , 2),
(4 , 4 , NULL , -1),
(5 , 6 , -1 , 3),
(6 , 1 , 3 , 2),
(7 , 4 , 2 , 4);
SELECT DISTINCT cid FROM my_table WHERE status = 1 AND country != -1;
+-----+
| cid |
+-----+
| 1 |
+-----+https://stackoverflow.com/questions/67868453
复制相似问题