0

これは非常に基本的な質問です.誰かがすでにこの質問をしている場合は申し訳ありません..

「item」というメインテーブルがあります。カタログ、説明、アベイルズ、価格などのすべてのアイテム関連情報があります。

「カタログ」列が1つしかない「activelisting」という別のテーブルもあります。

ここで、「activelisting」テーブルに存在する「catalog」に基づいて、「item」テーブルから「catalog」、「description」、および「avail」を取得したいと考えています。または別の言葉では、'activelisting' テーブルのすべてと、'item' テーブルの一致するレコードです。

私はそれをたくさん調査しましたが、機能するクエリを見つけることができません。私は次のクエリを使用しています..

SELECT t1.catalog, t1.description, t1.avail
FROM item t1
LEFT JOIN activelisting t2
ON t1.`Catalog` = t2.`Catalog`;

任意の助けをいただければ幸いです...

4

2 に答える 2

0

INNER JOINの代わりに使ってみてくださいLEFT JOININNER JOIN結合される値が両方のテーブルに存在することを保証します。

SELECT i.catalog, i.description, i.avail
FROM item i
INNER JOIN activelisting a ON i.catalog = a.catalog

LEFT JOIN左側のテーブルにすべての結果が返され、同じitem行がない場合は、それらの列のみが返されます。現在、潜在的な列を選択していないため、現在の結果は基本的に のすべてのエントリになります。activelistingcatalogNULLNULLitem

于 2013-03-30T06:42:15.013 に答える