2017-08-24 58 views
1

開發一個數據庫來存儲從模擬我得到這個不同機型的測試結果:image結果集包含行的每個不同實例的一列。對於MySQL的每個狀結構

參見「試驗」一欄是指與一個或多個「莫德洛測試特定的方案「或模型,」resultado「是該測試的結果。

事情是:我需要一個單一的查詢,對於每個「測試」返回每個「modelo」的結果,那就是,有一個未定義數目的「modelo」。從這樣的查詢結果會是這樣的:

image2

我怎麼能這樣做呢?我嘗試過沒有成功的團隊。另外,如果可能的話,請列出查詢中用於進一步學習的操作。

回答

0

您的問題與本主題中解釋的問題非常相似:Simple way to transpose columns and rows in Sql?。 從技術上講,您需要生成一個轉置sql查詢。

(草案)

SELECT test, 
     COALESCE(MAX(CASE WHEN modello = 1 THEN resultado END), null) modello1, 
     COALESCE(MAX(CASE WHEN modello = 2 THEN resultado END), null) modello2, 
     COALESCE(MAX(CASE WHEN modello = 3 THEN resultado END), null) modello3 
FROM your_table 
GROUP BY test 

的問題是,這一部分

COALESCE(MAX(CASE WHEN modello = 1 THEN resultado END), null) modello1, 
COALESCE(MAX(CASE WHEN modello = 2 THEN resultado END), null) modello2, 
COALESCE(MAX(CASE WHEN modello = 3 THEN resultado END), null) modello3 

應動態生成如果modelly值的數目是沒有真正受到限制。如果它有限,則可以構建包含模型列的所有值的靜態查詢。

+0

謝謝,我可以用它來解決我的問題,通過做應用程序中的動態部分,我所需要做的就是查詢不同的(modelo),併爲它們中的每一個生成一個這樣的行。對? –

+0

是的,它是正確的。 –

相關問題