2014-11-24 135 views
0
SELECT p.product_id,p.account_id,i.image_id,a.email,p.title,p.price 
FROM products AS p 
LEFT OUTER JOIN products_images AS i 
ON p.product_id = i.product_id AND i.featured=1 AND i.deleted=0 
INNER JOIN accounts AS a 
ON p.account_id = a.account_id 
MATCH(p.title) AGAINST('+images') 

我想第一次使用MATCH。它说我有一个语法错误,我不知道为什么?与左外连接匹配

回答

2

你缺少的不是加入的部分条件前WHERE关键字:

SELECT p.product_id,p.account_id,i.image_id,a.email,p.title,p.price 
FROM products AS p 
LEFT OUTER JOIN products_images AS i 
ON p.product_id = i.product_id AND i.featured=1 AND i.deleted=0 
INNER JOIN accounts AS a 
ON p.account_id = a.account_id 
WHERE MATCH(p.title) AGAINST('+images') 
+0

只是好奇,这会是一个连接条件? '加入东西和匹配东西(东西)反对(东西)'?或者MATCH只能在where子句中使用? – AdamMc331 2014-11-24 16:53:31

+1

'MATCH'可以用于任何表情。但是在这种情况下,他并没有将它用作连接的一部分,所以适当的地方就是'WHERE'子句。 – Barmar 2014-11-24 16:55:38

+0

@ McAdam331它是否给出语法错误(你不需要测试表!) – Strawberry 2014-11-24 16:56:04