私は幾分複雑なMySQLクエリを持っていますが、私は派生しようとしていますが、MySQLとPHP:購入した製品別のバイヤーレコードを選択する
私はいくつかのテーブルを持っている:products, stores, buyer, payment and buyer_purchase.
buyer_purchaseは、基本的には、外部キーで構成されています。この表は、多かれ少なかれ互いにリンクしています。テーブルには迷惑データが埋め込まれています。実際のレコード自体は、それらを取得するために使用されるメソッドほど重要ではありません。
私は、それらがどのように購入したその項目の多く、どの店彼らはからそれを買って、支払い方法を使用、特定の製品を購入したバイヤーを選択できるようにする必要があります。
それはすべて、次のようにPHPを使用してWebページに表示されます。
Product1
name of buyer1
Payment method
Number Purchased
Store purchased From
product2
Name of buyer1
Payment
Number Purchased
Store Purchased from
Name of buyer2
Payment
etc.
私はやや作品のクエリを持っています。
SELECT products.item, stores.seller_name, buyer.f_name, buyer.l_name, payment.company
FROM buyer_purchases
INNER JOIN products
ON products.id = buyer_purchases.product_listings_id
INNER JOIN payment
ON payment.id = buyer_purchases.buyer_id
INNER JOIN buyer
ON buyer.id = buyer_purchases.buyer_id
INNER JOIN stores
ON stores.id = buyer_purchases.product_listings_stores_id
ORDER BY products.item
これは私が必要なすべてのデータを返します。結合されたテーブルですが、必要に応じて表示するようにフォーマットすることは、私を混乱させるものです。もちろん、誰かが購入した製品の数を表示するにはCOUNTを呼び出す必要がありますが、実装方法はわかりません。さらに、私はORDER BYではなくGROUP BYが必要だと思いますが、GROUP BYは各製品のレコードを1つだけ残します。私はMySQLが不平を言っていないサブクエリを実装することができませんでした。
今、私はすべてのデータを1つのクエリでテーブルから取り込み、それを繰り返し実行できるPHP配列として保存しようとしています。これがこのプロセスについての最良の方法ではない場合、別の方法を見つけることができます。