mySQL LEFT JOIN 只有当

标签 mysql sql join if-statement

仅当我要加入的表中的一列 = 1 时,我才尝试执行 LEFT JOIN。

这是我目前所拥有的。

SELECT * FROM size, oil LEFT JOIN purchase ON oil. oilId = purchase. purOilId
WHERE sizId = oilSizeId AND oilUnused ='' ORDER BY oilOurName

下面是我需要补充的。

LEFT JOIN purhcase (only if purMark = 1)

这是我不确定该怎么做。

稍后使用 AND 将不起作用,因为油表需要定义结果中有多少行。

谢谢

最佳答案

在 JOIN 中添加 AND 条件,如下所示

SELECT * FROM size, oil LEFT JOIN purchase ON oil.oilId = purchase.purOilId AND purchase.purMark = 1  
WHERE sizId = oilSizeId AND oilUnused ='' ORDER BY oilOurName

关于mySQL LEFT JOIN 只有当,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17439570/

相关文章:

当我只想要一行时,SQL JOIN 返回多行

mysql - COUNT() 和 Left Join 不起作用

mysql - 根据与另一张表相关的某些条件更新一张表(MySQL)

asp.net - 多列条件计数 SQL

mysql - SQL View 中需要额外的行

database - 分片对性能有何影响?

MySQL LOWER() 函数对于 º 字符不是多字节安全的?

php - 如何确定一个值是否与可能为空的列匹配?

php - MySQL/PHP 中的时区偏移量(和 st/dst 更改)

sql - FROM子句中的join和WHERE子句有什么区别?