【问题标题】:Error with MySQL SubqueryMySQL 子查询出错
【发布时间】:2015-09-28 14:01:46
【问题描述】:

我有一个 MySQL 查询来生成一个显示两列的视图,这两列是子查询,但由于某种原因我得到了错误。

SELECT 
(SUM(cards_required) FROM `orders` WHERE statuses = 1) As Count,
(SUM(cards_required) FROM `orders` WHERE statuses = 2) As Count
FROM `orders` WHERE user_id = 1

错误信息

#1064 - 您的 SQL 语法有错误;检查与您的 MySQL 服务器版本相对应的手册以获取正确的语法使用 near 'FROM orders WHERE statuses = 1) As Count, (SUM(cards_required) 来自第 3 行的订单

【问题讨论】:

  • 没有看到任何错误信息
  • 这就是我的想法@amdixon
  • #1064 - 您的 SQL 语法有错误;检查与您的 MySQL 服务器版本相对应的手册,以在第 3 行的 'FROM orders WHERE statuses = 1) As Count, (SUM(cards_required) FROM orders ' 附近使用正确的语法
  • 好吧,你有多个 where 子句和 from 子句 - 为什么?

标签: mysql subquery


【解决方案1】:

您使用的语法不太正确。您可以使用IF 有条件地求和:

SELECT 
SUM(IF(statuses = 1,cards_required,0)) As status_1,
SUM(IF(statuses = 2,cards_required,0)) As status_2
FROM `orders` WHERE user_id = 1

【讨论】:

  • 哇,好用!我通常在 SQL 中工作似乎有比我想象的更多的差异!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2017-01-03
  • 1970-01-01
  • 2022-12-11
  • 2013-04-13
  • 2017-01-07
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多