Mysql 如何加入+仅选择只有一个订单的客户? 客户 名称 身份证件
尝试为您的join添加ON语句。这告诉SQL如何连接这两个表Mysql 如何加入+仅选择只有一个订单的客户? 客户 名称 身份证件,mysql,sql,Mysql,Sql,尝试为您的join添加ON语句。这告诉SQL如何连接这两个表 SELECT customers.name , orders.items FROM customers JOIN orders on customers.ID = orders.CID WHERE Items > 2 您必须添加另一个子查询来计算数字 dbfiddle您只需要修改where子句。此查询将只返回orders表中只有一行的客户 选择customers.name, 订单、物品 来自客户 左连接命令 o
SELECT
customers.name
, orders.items
FROM customers
JOIN orders
on customers.ID = orders.CID
WHERE Items > 2
您必须添加另一个子查询来计算数字
dbfiddle您只需要修改where子句。此查询将只返回orders表中只有一行的客户 选择customers.name, 订单、物品 来自客户 左连接命令 on customers.ID=orders.CID 其中customers.ID在按COUNT*=1的CID从订单组中选择CID 你可以做:
select * from customers
where id in (
select cid from orders group by cid having count(*) = 1
)
:但是我写了我的表格结构。。。ID类似于2313、1233、1232-第二个表中的CID与客户的2313、1233、1232外键ID和订单的CID相同,其文本数据项如咖啡机、手机数据模型[对我]令人困惑。你能添加几行样本数据和预期的结果吗?@我的同事添加了一行开始写,这一行我知道,但主要的问题是,如果项目>2项有值,例如:汽车、手机、咖啡,我只需要选择订单表列项目中有1条记录的名称-我需要选择只订购了1项的人员
INSERT INTO customers VALUES (1,'A'),(2,'b')
CREATE tABLE orders (ID int,CID int,items varchar(10))
INSERT INTO orders VALUES (1,1,'car'),(2,1,'car2'),(3,2,'car'),(4,2,'car2'),(5,2,'car2')
SELECT
customers.name
, orders.items
FROM customers
JOIN orders
on customers.ID = orders.CID
INNER JOIN (SELECT COUNT(*) countr,CID FROM orders GROUP BY CID) o1 on o1.CID = orders.CID
WHERE countr > 2
name | items
:--- | :----
b | car
b | car2
b | car2
select * from customers
where id in (
select cid from orders group by cid having count(*) = 1
)