mysql - 如何在 SQL 中的另一个 select 中编写 select 语句

标签 mysql sql

谁能告诉我这个查询有什么问题? 它在第二个选择附近给出语法错误

SELECT b.mc_boxes_idmc_boxes,
          t.idtitles, 
          t.title,
          t.languages_idlanguages,
          MAX(h.idtitle_history),
          MAX(h.edition)
          (SELECT h.preview, h.file WHERE h.idtitle_history = MAX(h.idtitle_history))
                        FROM mc_boxes_has_titles b
                        LEFT JOIN titles t ON b.titles_idtitles = t.idtitles
                        LEFT JOIN title_history h ON h.titles_idtitles = t.idtitles
                        WHERE b.mc_boxes_idmc_boxes = 12
                        AND h.edition IS NOT NULL
                        GROUP BY b.mc_boxes_idmc_boxes, idtitles
                        ORDER BY b.sortorder;

最佳答案

看起来你在 MAX(h.edition) 之后少了一个逗号

SELECT b.mc_boxes_idmc_boxes,
          t.idtitles, 
          t.title,
          t.languages_idlanguages,
          MAX(h.idtitle_history),
          MAX(h.edition), 
          (SELECT h.preview, h.file WHERE h.idtitle_history = MAX(h.idtitle_history))
FROM mc_boxes_has_titles b
LEFT JOIN titles t ON b.titles_idtitles = t.idtitles
LEFT JOIN title_history h ON h.titles_idtitles = t.idtitles
WHERE b.mc_boxes_idmc_boxes = 12
     AND h.edition IS NOT NULL
GROUP BY b.mc_boxes_idmc_boxes, idtitles
ORDER BY b.sortorder;

除了逗号之外,您还在子查询中选择了两个字段

SELECT b.mc_boxes_idmc_boxes,
          t.idtitles, 
          t.title,
          t.languages_idlanguages,
          MAX(h.idtitle_history),
          MAX(h.edition), 
          (SELECT preview FROM title_history WHERE idtitle_history = MAX(h.idtitle_history)),
          (SELECT [file] FROM title_history WHERE idtitle_history = MAX(h.idtitle_history))
FROM mc_boxes_has_titles b
LEFT JOIN titles t ON b.titles_idtitles = t.idtitles
LEFT JOIN title_history h ON h.titles_idtitles = t.idtitles
WHERE b.mc_boxes_idmc_boxes = 12
     AND h.edition IS NOT NULL
GROUP BY b.mc_boxes_idmc_boxes, idtitles
ORDER BY b.sortorder;

关于mysql - 如何在 SQL 中的另一个 select 中编写 select 语句,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9722379/

相关文章:

mysql - SQL查询获取2个日期之间每天的价格

php - unicode 和 utf8 数据从数据库读取到 php/html

sql - 如何在现有位置插入新行之前更新唯一的表行号

PHP根据条件比较关联数组

amazon linux 上的 mysql - MySQL 守护进程无法启动

sql - 如何选择提交次数超过 10 次的所有用户

MySQL:有什么办法可以将这N个查询变成更少的查询吗?

sql - 创建 SQL 'LIKE' 语句来查找特定的数字和字母模式

mysql - 如何使用 case-when-then 编写 mysql 查询?

用于对评论及其嵌套回复进行排序的 MySQL 查询