请问,这个关于INNER JOIN的句子为什么报错 这条语句是书上的,正确的: SELECT customers.cust一name, customers.cust一id,Count(orders.order_num) AS num_ord FROM customers INNER JOIN orders ON customers.cust一id = orders.custid
下面这条是我写的:
SELECT 客户表.姓名,COUNT(订单主表.订单编号) FROM 客户表 INNER JOIN 订单主表 ON 客户表.客户编号 = 订单主表.客户编号
问题: 1:上面那条语句虽然不知道字段是啥意思,但根据前缀,你应该懂的 2:我的下面那条语句报错:“选择列表中的列 '客户表.姓名' 无效,因为该列没有包含在聚合函数或 GROUP BY 子句中” 请问,是什么意思,为什么上面那条又是对的
------解决方案-------------------- customers.[cust一id]--加上[]
------解决方案-------------------- ON customers.[cust一id] = orders.custid
------解决方案--------------------
SQL code
SELECT 客户表.姓名,COUNT(订单主表.订单编号)
FROM 客户表 INNER JOIN 订单主表
ON 客户表.客户编号 = 订单主表.客户编号
group by 客户表.姓名
------解决方案-------------------- SELECT 客户表.姓名,COUNT(订单主表.订单编号) FROM 客户表 INNER JOIN 订单主表 ON 客户表.客户编号 = 订单主表.客户编号 group by 客户表.姓名
------解决方案--------------------
SQL code
2改为:
SELECT 客户表.姓名,COUNT(订单主表.订单编号)
FROM 客户表 INNER JOIN 订单主表
ON 客户表.客户编号 = 订单主表.客户编号
group by 客户表.姓名
------解决方案-------------------- 存在聚合函数(sum/count/max/min),非聚合函数需要用group by
------解决方案--------------------
------解决方案-------------------- 大版已經寫錯你了呀
select col1,col2,col3,max(col4),min(col5),sum(col6),count(col7),avg(col8) from 表 where ... group by col1,col2,col3;