Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/76.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
在SQL查询中需要您的帮助吗_Sql_Database - Fatal编程技术网

在SQL查询中需要您的帮助吗

在SQL查询中需要您的帮助吗,sql,database,Sql,Database,有两个表格: 客户端(id,name) 订单(id,id\u客户端,名称),其中id\u客户端-外键 编写一个查询,选择第一个表的标识符和名称以及第二个表中与其关联的记录数。结果应按姓氏降序排列 我试过了 SELECT Clients.id, Clients.name, count(id) FROM clients INNER JOIN Order ON Clients.id = Order.id_client GROUP BY Clients.id, Clients.

有两个表格:

  • 客户端
    id,name
  • 订单
    id,id\u客户端,名称
    ),其中
    id\u客户端
    -外键
编写一个查询,选择第一个表的标识符和名称以及第二个表中与其关联的记录数。结果应按姓氏降序排列

我试过了

SELECT 
   Clients.id, Clients.name, count(id) 
FROM clients 
INNER JOIN Order ON Clients.id = Order.id_client 
GROUP BY 
   Clients.id, Clients.name 
ORDER BY 
   Clients.name DESC

但它不起作用。有什么问题?

从客户端的内部联接顺序中选择Clients.id、Clients.name、count(client.id)。id=Order.id\u client GROUP BY Clients.id、Clients.name Order BY Clients.name从客户端的内部联接顺序中选择Clients.id、Clients.name、count(client.id)。id=Order.id\u client GROUP BY Clients.id,Clients.name ORDER BY Clients.name DESC更改
计数(id)

SELECT
 c.ID,
 c.Name,
 COUNT(o.ID)
FROM
 Clients c
LEFT JOIN [Order] o
ON
 o.id_client = c.id
GROUP BY
 c.ID,
 c.Name
ORDER BY
 c.Name DESC
count(Clients.id)
count(Order.id)

我不知道您需要哪个表
count(id)
。我希望您了解问题所在。

计数(id)
更改为

SELECT
 c.ID,
 c.Name,
 COUNT(o.ID)
FROM
 Clients c,
 Order o
WHERE o.id_client = c.id
GROUP BY
 c.ID
 c.Name
count(Clients.id)
count(Order.id)


我不知道您需要哪个表
count(id)
。我希望您能理解问题所在。

定义“it(sic)不起作用”两个词:LEFT JOIN。更多单词:
Order
是一个保留字,左连接的替代方法是SELECT中的标量子查询。你说它不工作是什么意思?!?!?您是否有错误-如果有:什么错误?你是不是一点结果都没有?“错误”的结果?如果是这样的话:为什么他们错了?你期望什么呢?@伙计们,我们能不能不要大喊大叫,他有1个代表点,所以他一定是一个新用户。表现出一些礼貌。定义“它(原文如此)不起作用”两个词:左连接。更多单词:
Order
是一个保留字,左连接的替代方法是SELECT中的标量子查询。你说它不工作是什么意思?!?!?您是否有错误-如果有:什么错误?你是不是一点结果都没有?“错误”的结果?如果是这样的话:为什么他们错了?你期望什么呢?@伙计们,我们能不能不要大喊大叫,他有1个代表点,所以他一定是一个新用户。表示一些礼貌。在这种情况下没有区别在这种情况下没有区别
join
语法更具可读性,这是在幕后执行联接的旧方法。此外,它还受到未将
顺序
表名括起来的问题。
join
语法更具可读性,这是在幕后执行联接的旧方法。此外,它还受到未将
顺序
表名括起来的问题。
SELECT
 c.ID,
 c.Name,
 COUNT(o.ID)
FROM
 Clients c,
 Order o
WHERE o.id_client = c.id
GROUP BY
 c.ID
 c.Name