mysql - 为派生表指定别名会产生错误
问题描述
如果我运行以下代码,我会得到“每个派生表都必须有自己的别名”,但是如果我尝试在GROUP BY itemID)
withAS Cust
或其他内容的末尾包含别名,则会出现语法错误。这里发生了什么?
SELECT * FROM(
(SELECT itemID, COUNT(itemID)
FROM Item
GROUP BY itemID) AS Head
LEFT OUTER JOIN(
SELECT * FROM(
SELECT itemID
FROM (Customer LEFT OUTER JOIN Bid ON custNum = buyerNum) LEFT OUTER JOIN Item USING (itemID)
WHERE custNum = 'pxtfj044'
GROUP BY itemID)) AS Now
解决方案
你有太多的括号,你LEFT JOIN
需要一个ON
子句:
SELECT *
FROM (SELECT itemID, COUNT(itemID)
FROM Item
GROUP BY itemID
) Head LEFT OUTER JOIN
(SELECT itemID
FROM Customer LEFT OUTER JOIN
Bid
ON custNum = buyerNum LEFT OUTER JOIN
Item
USING (itemID)
WHERE custNum = 'pxtfj044'
GROUP BY itemID
) Now
ON . . .
推荐阅读
- node.js - 由于引号不匹配,Jest 测试失败
- redis - 如何在redis集群中实现租户隔离以实现弹性
- vue.js - 在 Vuetify 的 VAppBar 中传播元素
- css - 当我调整浏览器窗口的大小时,如何使我的表单不会分崩离析?
- spacy - 如何仅针对 NER 优化 SpaCy 管道(使用现有模型,无需训练)
- ios - UIAlertAction 不可重用
- node.js - Sequelize Insert 记录由 Model.Create 与深度关联
- javascript - 有什么方法可以在 docker 容器中使用 puppeteer 和带有 headless:false 的 chromium 运行 NextJS?
- flutter - 从另一个函数结束流
- java - 外部排序 - 使用 2 路合并方法合并 N 个文件