0

私は何時間もこれを理解しようとしてきました、多くの同様のトピックがありますが、それでも私の答えを見つけることができないようです。誰かがここで私を助けてくれることを願っています、これが私がやろうとしていることです:

「brand」というテーブルと「product」というテーブルがあります。このテーブルのbrand_idがテーブル「brand」のbrand_idと同じ場合、テーブル「product」 のproduct_idを表示するクエリを作成しようとしています。 。

だから基本的に私は、ブランドテーブルを持っています:

brand_name    brand_id
a             1
b             2
c             3

および製品表:

product_id    brand_id
23            2
24            1
25            2
27            3 
28            3

ここで、brand_id 3が選択されている場合、でbrand_id3を含むすべてのproduct_idを表示します。

私はこれまでに持っています:

SELECT brand_id, brand_name, from " . TABLE_BRAND . " order by brand_name";

SELECT product_id from " . TABLE_PRODUCT . where brand_id = '" . (int)$brands['brand_id'] . "'");

誰かが私が説明したようにこれを機能させるのを手伝ってくれるでしょうか?よろしく

4

2 に答える 2

2

結果がに正しく結合されていない場合はANSI SQL-92、構文ではなく構文を使用することをお勧めします。ここで何かを読んでください:ANSI SQL-92INNERJOIN。ANSI SQL-89CROSS JOIN

SELECT  a.Product_ID, b.brand_name
FROM    `product` a 
            INNER JOIN  `brand` b
                ON a.brand_id = b.brand_ID
-- WHERE a.Product_ID = valueHERE       -- <== place condition here :)
于 2012-08-10T00:16:23.220 に答える
0

多分これ?

SELECT
    b.brand_name,
    p.product_id
FROM
    brand AS b,
    product AS p
WHERE
    b.brand_id = p.brand_id
于 2012-08-10T00:04:18.397 に答える