0

私は MySQL と PHP を初めて使用し、2 つのテーブル間の内部結合に苦労しています。私は、OS コマース データベースを読み取り、現在取り寄せ中の製品を通知するスクリプトを作成しています。製品をバック オーダーにするために、products_attributes テーブルの値は「134」に設定されますが、product_id のみが読み取られ、「products」テーブルにある product_model は読み取られません。

products_attributes(table name)
  options_values_id
  product_id

products(table name)
  product_id
  product_model

products_attributes テーブルで「134」の値を持つアイテムを選択し、両方のテーブルの product_ids を照合して、「products」テーブルから product_model を取得したいと考えています。コードは非常に簡単だと思いますが、何らかの理由で、クエリの作成方法と表示方法に苦労しています。

4

3 に答える 3

1

SELECT product_model FROM products as p,products_attributes as pa WHERE p.product_id = pa.product_id and pa.options_values_id = 134

また

SELECT p.product_model FROM products p INNER JOIN products_attributes as pa ON (p.product_id = pa.product_id) WHERE pa.options_values_id = 134

于 2013-05-14T15:28:22.650 に答える
0

134 の属性を持つもののプロダクト ID を取得する方法を尋ねていると思います。その場合、noJOINは必要ありません。

SELECT DISTINCT
    product_id
FROM
    products_attributes
WHERE
    options_values_id = 134

product_model が必要な場合は、次のJOINように形成できます

SELECT DISTINCT
    p.[product_model]
FROM
    products p
JOIN
    product_attributes pa
    ON pa.[product_id] = p.[product_id]
WHERE
    pa.[options_values_id] = 134

そのためJOIN、2 つのテーブルが互いにどのように関連しているかが規定されています。有効なJOINテーブルがあれば、結合されたテーブルをクエリのほぼどこでも使用できます。

于 2013-05-14T15:23:46.940 に答える