3
我正在嘗試創建一個將生成下表的查詢。 我知道列名稱(即每列的開始日期和結束日期,這些日期會根據月份/年份而變化,並且列數也會有所不同,因爲某些月份可能會有6周)。sql - 創建單個查詢以獲取給定條件的值
池的數量也可能有所不同。可以有'n'個池。所以我創建了每個池(行)和每週(列)的查詢。
假設有3個池(3行)和5個星期(5列),我可能需要運行3 * 5 = 15個查詢。
有什麼辦法來創建一個單一的查詢來解決這個問題嗎?
任何人都可以幫助我解決這個問題嗎?
我stiil工作這個..
--------------------------------------------------
row 0 | week1 | week2 | week3 | week4 | week5 |
st-end|jan1 -2|jan 3-9|jan10-17|jan18-24|jan25-31|
--------------------------------------------------
pool a| 100 | 105 | 309 | 345 | 234 |
pool b| 106 | 108 | 399 | 245 | 214 |
pool c| 120 | 145 | 359 | 365 | 274 |
--------------------------------------------------
這不是回答你的問題,只是評論...一般是什麼樣的情形中,我更喜歡從SQL切換到命令式編程(Java)。您可以創建一個準備好的語句,用於計算一個通用的「單元」,然後針對15個單元中的每一個執行它(通過改變某些參數)。沒有什麼不好的,你在15分鐘內就完成了。如果計算和/或查詢很昂貴,則可以緩存結果表。在SQL中執行所有這些操作可能變得棘手並且難以被其他人閱讀/理解。 – gd1
如果沒有看到要查詢的表以創建表(結果集),則表明無法說明查詢應該是什麼。 –
@NickHolt - 假設我試圖得到('pool a'- week1),(pool a - week 2)等等的組合,並且這種情況會發生在所有池中,因此我認爲需要運行15個查詢。我只想檢查是否可以運行單個查詢。 – user1514499