SELECT * FROM `tbl_wines`
LEFT JOIN `tbl_wines_attrib`
ON `tbl_wines`.`intWinesID` = `tbl_wines_attrib`.`intWinesID`
AND `tbl_wines_attrib`.`intAttributeValueId` = 4
WHERE `intStatus` = 1
LIMIT 0 , 20

我需要知道这个问题是否正确。但是我从tbl_wines中获取所有值,而不仅仅是intAttributeValueId = 4中的值。
有人能帮忙吗?

最佳答案

看起来这个条件已经作为JOIN条件的一部分而不是WHERE条件放置。相反,请尝试以下操作,将tbl_wines_attrib.intAttributeValueId =4移到WHERE子句中。

SELECT * FROM `tbl_wines` LEFT JOIN `tbl_wines_attrib` ON `tbl_wines`.`intWinesID` = `tbl_wines_attrib`.`intWinesID` WHERE `tbl_wines_attrib`.`intAttributeValueId` = 4 AND `intStatus` =1 LIMIT 0 , 20

关于mysql - 从数据库显示,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/7093391/

10-09 08:16