mysql - Join 产生重复的行并忽略 Where 语句
问题描述
我有两个表,当我将它们连接在一起时,查询会在我的结果中产生重复的行。
表 1 的主 ID 一遍又一遍地重复。
Where 子句也被忽略了。它返回在 cmID cmIDtwo 中具有两个字段的行,如果其中任何一个具有值,则不应返回它们
我尝试了内部连接,但无法使其正常工作。
我的目标是查看订单表并加入客户通过使用他们的 ID 提出的关于该订单的任何现有问题。
Table 1:
ccOrder
ccOrder.ID,
ccOrder.cmID,
ccOrder.cmIDtwo,
ccOrder.ccShippingEmail
Table 2
contactManager.contactManagerId
contactManager.email
My Query:
SELECT
ccOrder.ID,
ccOrder.cmID,
ccOrder.cmIDtwo,
ccOrder.ccEmail,
ccShippingEmail,
contactManager.email
FROM ccOrder
JOIN contactManager ON ccOrder.ccShippingEmail = contactManager.email
WHERE (ccOrder.cmID = 0 & ccOrder.cmIDtwo = 0)
AND contactManager.`email` != ''
解决方案
在研究了一段时间后,我发现 WHERE (ccOrder.cmID = 0 & ccOrder.cmIDtwo = 0) 的简单更改为 WHERE ccOrder.cmID = 0 AND ccOrder.cmIDtwo = 0
消除重复条目并返回预期结果。
很想知道为什么因为 & 通常有效。
推荐阅读
- rabbitmq - 无法在 RabbitMQ 中接收消息并且 UI 显示空队列
- java - Selenium 无法在字段集标记内的表单中输入元素
- flutter - 如何在 vscode 上键入时禁用提示
- python - 为什么以下代码输出 [<__main__.Book object at 0x00000207911F1FD0>]。虽然我希望输出我添加的书籍列表
- pine-script - 如何删除 pine 脚本中超过 500 或 max_bar_back 限制的框或线对象?
- c++ - “local”关键字是做什么用的?
- python-3.x - 列表项未在“if”语句中定义
- sql-server - 在 MS Access 中使用 odbc dsn 打开 ADODB 记录集时出错
- php - 从 Laravel 返回具有正确内容类型的二进制图像数据
- python - GAE/P3 依赖冲突