MYSQL LEFT JOIN 在其他表上添加条件

标签 mysql sql join conditional-statements

select principalTable.X, secondTable.ART, secondTable.DETT
from 
(principalTable

left join thirdTable
on on principalTable.X = thirdTable.X

left join secondTable
on principalTable.ART = secondTable.ART and thirdTable.ID = secondTable.ID
)

我有 3 表显示此查询中的一些交叉数据,我需要一个条件来仅选择具有公共(public)索引的 secondtable 中的数据thirdtable,否则如果没有 and 条件,可能会出现许多不正确的结果。 我尝试了将 and 应用于 principalTable 的相同查询,这样就成功了。将条件应用于 thirdTable 后,它将不起作用。

我们非常感谢每一条建议。

最佳答案

尝试以下查询。

select principalTable.X, secondTable.ART, secondTable.DETT 
form principalTable pt,secondTable st,thirdTable tt
where pt.X = tt.X AND pt.ART = st.ART AND st.ID = tt.ID

关于MYSQL LEFT JOIN 在其他表上添加条件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17467299/

相关文章:

Mysql 连接过多 : Django sqlAlchemy

php - XHTML、PHP、MySQL、IE 和 mdash 字符

mysql - 在查询结束之前开始查看查询结果

SQL:使用 Case 语句对多个字段进行分组

mysql - 使用 join 运行查询时结果加倍

sql-server-2008 - 通过加入和分组更新表

php - 带有 AND 条件的 LIKE 的 sql 查询以显示值

mysql - 1265 : Data truncated for column 'envio' at row 1

sql - 子查询是邪恶的吗?

MySQL SELECT GROUP_CONCAT AND SUM