栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

MySQL语句(FULL JOIN上的语法错误)

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

MySQL语句(FULL JOIN上的语法错误)

MySQL不提供完全连接,您可以使用

  • 一对LEFT + RIGHT和UNIOn;或者
  • 使用LEFT,RIGHT和INNER和UNIOn ALL的三元组

该查询也非常错误,因为您有GROUP BY,但是SELECt列不是聚合的。

将其正确转换为LEFT + RIGHT +
UNIOn后,仍然存在从每个随机记录的任何随机记录中获取要约名称和商人名称的问题,

of.merchantid
甚至不一定从同一记录中获取要约名称和商人名称。

由于您对o.merchant拥有INNER JOIN条件,因此不需要FULL
JOIN,因为

"offerorder"
没有匹配项的记录
"offer"
将使INNER JOIN失败。这就变成了LEFT
JOIN(可选)。由于您要分组
of.merchantid
,因此所有缺少的
offerorder
记录都将在“ NULL”下作为商人ID分组在一起。

对于每个商人ID,这是一个查询,它将仅显示商人提出的一个要约(按字典顺序排序时具有名字的那个要约)。

SELECT MIN(o.name) AS offername, m.name AS merchantName FROM offer AS o LEFT JOIN offerorder AS `of` ON `of`.offerId = o.id INNER JOIN merchant AS m ON o.merchantId = m.id GROUP BY `of`.merchantId, m.name

注意:该联接

o.merchantid = m.id
非常可疑。是你的意思
of.merchantid =m.id
吗?如果是这种情况,请将LEFT更改为RIGHT连接。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/387800.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号