相关表格
bookShop(商店编号,商店名称,街道,城市,县)
订单(orderNo,sNo,oDate,salesRep)
我需要列出只有一个订单的商店的所有详细信息
SELECT shopNo, shopName, street, city, county
FROM bookShop
WHERE shopNo in (SELECT sNo
FROM orders
WHERE (count(sNo))<1)
我知道不使用group by不能使用聚合函数,但是我觉得这样做会使事情变得更加复杂吗?另外,是否有我的SQL命令用于列出表中的所有详细信息,而不是像我上面那样手动输入所有详细信息?谢谢
答案 0 :(得分:0)
您需要在子查询中进行汇总:
SELECT shopNo, shopName, street, city, county
FROM bookShop
WHERE shopNo in (SELECT sNo
FROM orders
GROUP BY sNo
HAVING COUNT(sNo) = 1);
答案 1 :(得分:0)
你可以试试吗?
SELECT *
FROM bookShop
WHERE shopNo in (SELECT sNo
FROM orders
GROUP BY sNo
HAVING count(sNo)=1)
我们使用“ *”表示所有列,而不是指定所有列名。 我们必须使用GROUP BY,因为您需要聚合函数“ COUNT”上的条件值。
编辑:添加了OP询问的实际条件。