テーブルPRODUCTSとLISTINGSがあります。次のクエリを実行する場合:
SELECT DISTINCT *
FROM products
INNER JOIN listings
ON products.product_number=listings.product_number
これが「検索」機能です。
WHERE products.product_number !=''
AND listings.monthly_price BETWEEN '0' AND '10'
これは、製品リストの 1 つの二重エントリを返します。DISTINCTが機能しないのはなぜですか?
編集
製品:
product_number, make, model model_number, colour, processor, battery_standby, battery_talk, camera, flash, screen_size, screen_res, memory
リスト:
listing_number, featured, date, member_id, network, length, product_number, monthly_price, minutes, texts, data, image1
listings
基本的に、テーブルを介してテーブルにPRODUCT_NUMBER
一致する結果行を作成したいと思いproduct
ます。より正確には、電話リスト Web サイトの検索機能です。
より具体的に言うと、検索機能はproducts
テーブルを使用して検索し、次にテーブルを使用しlistings
て電話リストに関する有用な情報を表示します。
答え
SELECT DISTINCT *
FROM listings
INNER JOIN products
ON products.product_number=listings.product_number
上記はうまくいきました。テーブルを交換するだけです。にさらにいくつかの行を挿入したところlistings
、「問題」は消えました。解決しなくても、もう起こっていません...何が問題だったのかわかりません。