0

結果を取得しようとしているテーブルが 3 つありますが、手ぶらで表示されています。これが私のクエリです:

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

複数のテーブルからデータを取得する場合は、結合を使用する必要があります。クエリは次のようになります。

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 に答える
0

COUNT (o.order_id)outなしで使用しましたgroup BY。これが問題の原因です。out を使用せずにこのクエリを実行することはできませんGROUP BY

グループ化

于 2013-05-30T04:21:39.707 に答える