mysql - MySQL 中 UNION 附近的语法错误?

标签 mysql sql syntax

SELECT * 
FROM Activity AA
WHERE AA.act_id IN 
((SELECT A.act_id 
  FROM Activity A 
  WHERE A.user_id = 'lhfcws')
 UNION
 (SELECT J.act_id 
  FROM Joinin J 
  WHERE J.user_id = 'lhfcws'))
ORDER BY AA.act_time 

ERROR MESSAGE: #1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'UNION (SELECT J.act_id FROM Joinin J WHERE J.user_id = 'lhfcws')) ORDE' at line 7

事件(act_id, user_id, act_name)
Joinin(act_id, user_id)

最佳答案

错误的原因是 select 语句周围的括号。你应该写成:

SELECT * 
FROM Activity AA
WHERE AA.act_id IN 
(SELECT A.act_id 
  FROM Activity A 
  WHERE A.user_id = 'lhfcws'
 UNION
 SELECT J.act_id 
  FROM Joinin J 
  WHERE J.user_id = 'lhfcws')
ORDER BY AA.act_time

但请仔细阅读@Raphaël Althaus 改进查询的想法。

关于mysql - MySQL 中 UNION 附近的语法错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10510335/

相关文章:

php - 将值插入具有 PHP 变量名称的表中

python - py脚本从mysql数据库写入xlsx文件

mysql - 数据库查询以查找共享 IP 地址的用户

java - 如何查询 blob?

c++ - 这个 A<B>::c ("d") 结构是什么意思?用模板命名空间?

php - NULL 分配给 mysql_fetch_array 输出?

sql - 在应用程序的数据库存储过程中使用 MSDB 存储过程

sql - 将数据库中每个表的前 5 行导出到 Excel - MS SQL Server

javascript - JQuery,新的 JS 函数语法

python - 如何在 python 中使用生成器制作嵌套 for 循环?