【发布时间】:2012-01-08 17:50:15
【问题描述】:
我正在尝试加入 3 个表并排除某些结果。 基本上和mysql join where not exists差不多,但是我还是不知道如何成功合并多个表。
目标是从表 A 中选择结果,其中中间表 B 中的行 为空 OR 表 C(链接到 B,但不链接到 A ) 不匹配特定值。
类似:
SELECT x
FROM tablea
LEFT JOIN tableb
ON tablea.x = tableb.x
LEFT JOIN tablec
ON tableb.y = tablec.y
WHERE tableb.x IS NULL
OR tablec.z != 'excluded'
但它不起作用。 我还想避免使用 NOT IN 或 NOT EXISTS 等子查询来加快处理速度……有什么建议吗?
编辑:尽管我之前说过,它应该可以工作。请记住在合并多个连接时仔细检查正确的大括号、嵌套和“where”子句的位置
【问题讨论】: