0

我有三张表我试图从中提取结果,但我空手而归。这是我的查询:

SELECT f . *, o . *, u.username, COUNT (o.order_id) as cnt 
FROM products f, orders o, users u 
WHERE f.product_id=o.product_id 
AND f.user_id = u.id 
AND (f.title LIKE '%hlt%' OR f.description LIKE '%hlt%' OR u.username LIKE '%hlt%') 
LIMIT 5

尽管肯定有符合此标准的记录(尽管显然不是我写的那样),但这没有返回任何结果。

4

2 回答 2

0

您使用COUNT (o.order_id)了 out group BY。这是导致问题的原因。如果没有使用,您将无法执行此查询GROUP BY

通过...分组

于 2013-05-30T04:21:39.707 回答
0

从多个表中提取数据时需要使用连接。您的查询应该是:

SELECT f . *, o . *, u.username, COUNT (o.order_id) as cnt 
FROM products f
JOIN orders o ON f.product_id=o.product_id
JOIN users u ON f.user_id = u.id 
WHERE (f.title LIKE '%hlt%' OR f.description LIKE '%hlt%' OR u.username LIKE '%hlt%') 
LIMIT 5
于 2013-05-30T04:24:48.760 回答