私のデータベースから、あなたがスーパーマーケットで受け取った領収書に似ているデータを取得したい(実際の状況にちょっとした例がある)。 たとえば、2つ(常に2つだけ)の製品1と3が得られます。これらの製品は、別々の製品データベースに格納されています。 ショッピング結果は、時間、場所などのすべての詳細を含む2つの列(product_1およびproduct_2)で1つのデータベースに格納されます。この買い物の状況は、私の実際の状況との比較に過ぎないので、買い物リストのための良いデータベース構造ではないことが分かっています。MYSQLクエリの問題 - 製品の詳細を結果に結びつける
これで、領収書全体を取得したいと思いますが、商品IDを印刷する代わりに、名前と価格などをお伝えします。
私はこのクエリを使用する1つの製品だけ持っていた場合:
SELECT `list`.`time`, `list`.`location`, `prod`.`prod_name`, `prod`.`prod_price`
FROM `shopping_list` `list`, `products` `prod`
WHERE `list`.`product_1` = `prod`.`prod_id`
をしかし、私は二つの製品を持っているので、私はちょうど
AND `list`.`product_2` = `prod`.`prod_id`
で上に行くことはできませんが、どのようにあなたは私が希望achiveありません持っているのが好きですか?
はあなたが製品テーブルに参加する必要があります、非常に多くの フィル
私は自分でも同様のことをしたと思います。(私は質問にしますが、FROMテーブルを2回使ってprod1とprod2は結合なしではなくWHEREで)。だからこれはかなり問題を解決しますが、私はPHPで配列に結果を取得するとき私はprod_nameとインデックスの2倍を持っています。 prod_name1とprod_name2としてどのようにマークすることができるか、あるいはその状況にどのように対処することができるのか、解決策はありますか...ありがとうございました! :) – Phil
列別名を使用できます。テーブルエイリアスと同じように動作します。私はこれを反映する答えを更新しました。 –
WOW。知っておくべきこと:)とてもありがとうございました。私はこれが今私のすべての問題を解決すると思う。使用するテクノロジが提供しなければならない機能を知るには、常に良いことです。 – Phil