2013-09-28 41 views
0

這是一個簡單的查詢問題。但我似乎無法得到它的權利:( 我剛開始使用CakePHP上週我還在玩弄探索不管怎麼說,這是我的問題查找數不同於CakePHP

這是在型號的關係:。產品有許多股票股票屬於產品

這是樣本股表:。

 

ID | Product Name | Transaction 
------------------------------------ 
1 | Astringent | Purchase 
2 | Glutathione | Sales 
3 | Glutathione | Sales 

我想獲得每從個股表產品交易的數量

這是輸出我會用不同的產品名稱,如:

 

Transaction | Astringent | Glutathione 
-------------------------------------------- 
purchase  | 1   | 0 
sales   | 0   | 2 

回答

0

這裏是正是你要求什麼是SQL查詢 - 。

SELECT transaction, 
SUM(
CASE 
    WHEN product_name = 'Astringent' THEN 1 
    ELSE 0 
END) AS 'Astringent', 
SUM(
CASE 
    WHEN product_name = 'Glutathione' THEN 1 
    ELSE 0 
END) AS 'Glutathione' 
FROM stock 
GROUP BY transaction; 

但是,您是否正在尋找一個數據透視表,即基於隨機數產品的具有可變數量列的輸出?如果是這樣,你的解決方案作爲MySQL查詢要複雜得多,並且可能不像MySQL和PHP解決方案那麼複雜。無論哪種情況,我認爲您應該共享更多的數據庫模式/ CakePHP模型以及一些控制器信息。只要你想讓Cakephp輸出這種格式,爲了使用這個表格渲染視圖並不是太困難。