-4

2 つのテーブルのデータを結合しようとしました。

こんなエラーが出ました。理由がわかりますか?

すべての派生テーブルには独自のエイリアスが必要です

SELECT a.title, number 
FROM store a 
  JOIN 
  ( SELECT count(b.code) as number 
    FROM redeem_codes b 
    WHERE product = a.title 
      AND available = "Available")
4

2 に答える 2

1

テーブル構造について詳しく知らなければ、それを伝えるのは少し難しいです。とにかく試してみます:

SELECT a.title, count(b.code) AS number FROM store a
LEFT JOIN redeem_codes b ON b.product = a.title
WHERE b.available = "Available"
GROUP BY a.title;
于 2012-10-13T09:14:08.027 に答える
1

ALIASサブクエリに必要です。

SELECT a.title, number 
FROM store a   
     JOIN (subquery) b -- b is the `ALIAS`
                       -- and this query will not give you the result you want

ただし、サブクエリを使用しないより効率的なクエリを次に示します。

SELECT  a.title, count(b.code) number 
FROM    store a 
        INNER JOIN redeem_codes b             -- or use LEFT JOIN to show 0
                                              -- for those who have no product
            ON b.product = a.title
WHERE   b.available = 'Available'
GROUP BY    a.title
于 2012-10-13T09:05:48.823 に答える