Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/66.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mysql 如何加入+仅选择只有一个订单的客户? 客户 名称 身份证件_Mysql_Sql - Fatal编程技术网

Mysql 如何加入+仅选择只有一个订单的客户? 客户 名称 身份证件

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

尝试为您的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, 订单、物品 来自客户 左连接命令 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
)