這個問題可能看起來完全是愚蠢的,但它在這裏。動態選擇列 - Oracle SQL查詢
是否可以在sql查詢中指定/使用動態列名稱。
例如,比方說,表格有以下幾列。
Column: "1", "2", "3", "4", "5"
那麼對於X的給定值(DATEDIFF
功能來)讓我們說3 - 我想從「1」獲得的值之和在列「3」。對於X = 4,值之和在列從「1」到「4」等等...
實際的問題:
這個表基本上用於跟蹤多少次的特定用戶登錄過去X天。 X被定義。我們僅在用戶實際登錄時更新記錄。因此,爲了能夠在任何時間點計算正確的值,我想到了這個模式。
「用戶」, 「LastLoginDate」, 「1」, 「2」, 「3」, 「4」, 「5」,
"1" - represents number of times user logged in on 1 day before `LastLoginDate`
"2" - represents number of times user logged in on 2 day before `LastLoginDate`
and so on..
我們上LastLoginDate
計算值+ 2天 - 我只是總結了"1", "2", "3"
列中的值。因爲2天過去了,所以列"4" and "5"
中的值已過時。
我希望我能夠正確解釋問題。
Jitendra
這是一個非規範化的表格設計。沒有一個標準(通常也不是非標準)的方式來做你想做的事情。你應該指定你正在使用哪個DBMS;可能有一個特定於該DBMS的技巧。 –
@JonathanLeffler更新了問題。 – RandomQuestion