iT邦幫忙

0

Access 的SQL查詢問題

小弟目前有一個Excel報表要轉到Access中呈現,卡在一個查詢的問題 如下,有S、M、P(P、H欄)三個表。

查詢1: 就是(M小於H)的總數為X,在X最後兩項為小於114.5和大於等於114.5的總數。

S   |  M  |   P   |   H    |  X
----| ----| ------| -------| ---
3   |  1  |  85%  | 85.5%  |  2
    |  2  |  86%  | 86.5%  |  2
    |  3  |   .   |   .    |  .
    |  4  |  100% | 100.5% |  3
    |  5  |   .   |   .    |  .
    |     |  115% | 114.5% |  3  

查詢2: X的後項-前項,而第一筆=X1,最後一筆=X31。

想請問該怎麼寫,才能在一個查詢中找出X欄,我現在只能一個查詢找一個值,但是這樣要查很多次,如果用UNION的話,查詢2就沒辦法做了,
該怎麼寫才好呢?

看更多先前的討論...收起先前的討論...
slime iT邦大師 1 級 ‧ 2016-09-22 12:26:16 檢舉
完全看不懂問題....

(M小於H)的總數為X , 圖示中, M=1, H=85.5%, 1>85.5%, 那為什麼 X=2 ?
soul81624 iT邦新手 5 級 ‧ 2016-09-22 12:44:25 檢舉
忘記說了! H是S%(3*0.855~1.145),第一項X就是(M<2.565)的項目總數=2,然後P其實可不理。
還是完全看不懂問題.
要不要舉個例子或將現有的程式碼貼上來.請大家修改?
soul81624 iT邦新手 5 級 ‧ 2016-09-22 17:26:54 檢舉
table.S為規格,table.M為量測數值 欄位同表單名稱;
(Select count(M) AS X1
From table.M
Where M < S*0.855;)
這樣會查出M<2.565的筆數=X=2,0.855~1.145共有30次,上面說的查詢就要做那麼多次;但是用UNION做,則查詢2就沒辦法查,所以才問有沒有其他方法。因為對VBA程式這部分還不熟,想先從SQL下手。
slime iT邦大師 1 級 ‧ 2016-09-22 20:23:10 檢舉
建議重寫問題, 分出來幾個部分:
1. 原始調查資料(檢驗數據), 由機器產出的.
2. 對於原始資料, 會進行怎樣的調整.
3. 調整後的數值, 要對照怎樣的資料表, 去換算成對數?

程式只是運算工具, 還是需要先把資料特性分析好, 才能運算.
haoming iT邦研究生 1 級 ‧ 2016-09-23 08:48:22 檢舉
覆議樓上的... 還是不太能理解你的運算過程

尚未有邦友回答

立即登入回答