我對SQL相當新,並且正在嘗試編寫一個查詢,查找最後一次水錶是閱讀,所以我可以看到價值。有一個屬性表包含儀表和另一個表,用於存儲工程師的輸入。每個輸入被列爲一個序列,一個關鍵字列出了輸入類型和表達式列出了它們的輸入。最大順序並不總是答案。我想寫一個SQL嵌套查詢,發現/使用最大值來查找最大值之前的條目
我在找的是最後一次讀取水錶的電量,然後從前一個記錄(序列)中存儲的讀數中獲得電量值。爲了讓工程師輸入序列號更難,有些人需要輸入序列號(1,2,3),其他人需要輸入2(2,4,6),因此前面的輸入可能會減1或減2。
我可以編寫查詢來查找最大序列,另一個查找前一個或兩個前一個條目,但無法弄清楚如何使其成爲一個查詢。
找到網站12345的最大序列,我有:
SELECT MAX(M.SEQUENCE) maxseq
FROM METERS M JOIN PROPERTY P ON M.PROPNUM = P.PROPNUM
WHERE (P.CORP_ID ='12345' AND M.KEYWORD = 'WTR')
我手動搜索條目之前得到用下面的查詢電力條目。
SELECT P.NAME, P.CORP_ID, M.KEYWORD, M.SEQUENCE, M.EXPRESSION
FROM METERS M JOIN PROPERTY P ON M.PROPNUM = P.PROPNUM
WHERE (P.CORP_ID ='12345')
ORDER BY M.SEQUENCE
我試過不同的嵌套查詢,但一直沒有能夠寫任何將工作。
,我很感興趣的米表如下所示的數據:
PROPNUM SEQUENCE KEYWORD EXPRESSION 10a124 95 ELC 9845 10a124 96 WTR 4521 10a124 97 SVC A105 10a124 98 HEALTH GOOD 10a124 99 DAY 150209 10a124 100 HEALTH GOOD 10a124 101 ELC 10283 10a124 102 WTR 4621
我使用屬性表找到我感興趣的部位PROPNUM因爲我有該網站的ID(CORP_ID),但而不是它的PROPNUM值。
我想返回的結果如下所示。
NAME WTR_EXPRESSION ELC_EXPRESSION SMITH 4621 10283
1)什麼是數據庫平臺? 2)請顯示樣品表數據和預期的輸出。 – OldProgrammer 2015-02-09 17:23:27
副手,窗口查詢可能是您應該查看的內容。 – jpmc26 2015-02-09 17:31:33
哪個DBMS? Postgres的?甲骨文?順便說一句:不要把蘋果和橙子比較''12345'是一個字符,'12345'是一個數字 – 2015-02-09 18:48:18