0

次のエラーが表示されます。

1052 - フィールド リストの列 'product_id' があいまいです

次を実行すると:

SELECT `product_id`, `product_name`
FROM `products`
INNER JOIN `products_has_product_category`
   ON `products.product_id` = `products_has_product_category.product_id`
   AND `products_has_product_category.category_id` = 1
ORDER BY `products.product_name`

PRODUCTSのテーブルには

product_id, product_name, etc 

products_has_product_categoryのテーブルには

product_id, category_id

初参加ですので、よろしくお願いします!

4

2 に答える 2

1

どのテーブルからのものかを指定する必要がありますproduct_idproduct_idは両方のテーブルにあるためSELECT、値を取得するテーブルを指定する必要があります。テーブル エイリアスを使用する場合:

SELECT p.product_id, p.product_name
FROM `products` p
INNER JOIN `products_has_product_category` pc
    ON p.product_id = pc.product_id
    AND pc.category_id = 1
ORDER BY p.product_name

テーブル エイリアスを使用しない場合:

SELECT `products`.`product_id`, `products`.`product_name`
FROM `products`
INNER JOIN `products_has_product_category`
  ON `products.product_id` = `products_has_product_category.product_id`
  AND `products_has_product_category.category_id` = 1
ORDER BY `products.product_name`
于 2012-10-09T22:24:09.960 に答える
0

私があなたの意図を正しく理解していれば、AND ではなく WHERE を意味していた可能性があります。

SELECT `products`.`product_id`, `products`.`product_name`
          FROM `products`
          INNER JOIN `products_has_product_category`
          ON `products.product_id` = `products_has_product_category.product_id`
          WHERE `products_has_product_category.category_id` = 1
          ORDER BY `products.product_name`
于 2012-10-09T22:24:17.497 に答える