2011-08-17 162 views
1
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來自數據庫的顯示

任何人都可以幫忙嗎?

回答

2

看起來這個條件已經作爲你的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 
+0

這應該工作,但我相信你可以擺脫第一個和JOIN後,只使用WHERE子句和第二個AND。 – 2011-08-17 13:19:01

相關問題