0

購入表:

========================
id|username|product|price|
01|Desmond |tv     |$40  |
02|Desmond |watch  |$20  |
03|Desmond |ring   |$30  |
04|Desmond |laptop |$40  |
========================

製品表:

============================
id|product|type |promotion_ID|
01|tv     |big  |001         |
02|watch  |small|002         |
03|ring   |small|002         |
04|laptop |big  |001         |
============================

プロモーション ID:

==============================
id|promotion_ID|promotion_name|
01|001         |mid-year      |
02|002         |end-year      |
==============================

問題ない mysql からのすべての情報を表示するために while ループ メソッドに基づいて Purchase テーブルの結果を表示したいのですが、購入テーブルに基づいてプロモーション ID/プロモーション名に従ってグループ化したいと考えています。どうすればそれについて行くことができますか?

たとえば、表示結果の場合:

中年

=======================
username|product|price|
Desmond |tv     |$40  |
Desmond |laptop |$40  |
=======================

年末年始

=======================
username|product|price|
Desmond |watch  |$20  |
Desmond |ring   |$30  |
=======================
4

3 に答える 3

0
This may help you..

Select username,product,price from Purchase
Join Product on Product.product = Purchase.product 
Join Promotion On promotion.promotion_ID  = Product.promotion_ID
where promotion_name = 'mid-year' // pass your argument
Order by Product.product
于 2013-03-22T04:35:45.800 に答える
0

探しているだけですORDER BYJOIN:

SELECT promotion_name, 
    username, 
    p.product,
    price
FROM Purchase P
    JOIN Product PR ON P.Product=PR.Product
    JOIN Promotion PO ON PR.Promotion_Id=PO.Promotion_Id
ORDER BY promotion_name, p.product

データベースに関しては、Product を Purchase テーブルに格納することはお勧めしません。代わりに Product_Id を格納する必要があります。

于 2013-03-22T04:32:02.887 に答える
0

試す

SELECT pur.username, pur.product, pur.price
FROM tbl_purchase pur 
INNER JOIN tbl_product pro USING(product)
INNER JOIN tbl_promotion prm USING(promotion_ID)
ORDER BY prm.promotion_name

注:すべてのテーブルで主キーを参照していないため、列productpromotion_idすべてのテーブルにインデックスを作成します

于 2013-03-22T04:38:12.137 に答える