爲了從Oracle數據庫生成報告,我開始對一組數據進行研究。(嵌套?)使用MAX和WHERE子句選擇語句
的數據是在兩個表:
- 供應
- DEVICE
只有一列,這兩個表的鏈接:
- SUPPLY .DE VICE_ID
- DEVICE.ID
供應,有這些數據:(降價都不盡如人意。它應該顯示錶)
| DEVICE_ID | COLOR_TYPE | SERIAL | UNINSTALL_DATE |
|----------- |------------ |-------------- |--------------------- |
| 1232 | 1 | CAP857496 | 08/11/2016,19:10:50 |
| 5263 | 2 | CAP57421 | 07/11/2016,11:20:00 |
| 758 | 3 | CBO753421869 | 07/11/2016,04:25:00 |
| 758 | 4 | CC9876543 | 06/11/2016,11:40:00 |
| 8575 | 4 | CVF75421 | 05/11/2016,23:59:00 |
| 758 | 4 | CAP67543 | 30/09/2016,11:00:00 |
設備,其中,有一些我已經選擇所有(或多或少)列,但每一行都是唯一的。
什麼,我需要實現的是: 每個SUPPLY.DEVICE_ID和SUPPLY.COLOR_TYPE,我需要最新ROW - > MAX(UNINSTALL_DATE)加入了與 或多或少所有的設備柱子
。
最後我應該有這樣的事情:
| ACCOUNT_CODE | MODEL | DEVICE.SERIAL | DEVICE_ID | COLOR_TYPE | SUPPLY.SERIAL | UNINSTALL_DATE |
|-------------- |------- |--------------- |----------- |------------ |--------------- |--------------------- |
| BUSTO | MS410 | LM753 | 1232 | 1 | CAP857496 | 08/11/2016,19:10:50 |
| MACCHI | MX310 | XC876 | 5263 | 2 | CAP57421 | 07/11/2016,11:20:00 |
| ASL_COMO | MX711 | AB123 | 758 | 3 | CBO753421869 | 07/11/2016,04:25:00 |
| ASL_COMO | MX711 | AB123 | 758 | 4 | CC9876543 | 06/11/2016,11:40:00 |
| ASL_VARESE | X950 | DE8745 | 8575 | 4 | CVF75421 | 05/11/2016,23:59:00 |
到目前爲止,使用嵌套選擇,如:
SELECT DEVICE_ID,COLOR_TYPE,SERIAL,UNINSTALL_DATE FROM
(SELECT SELECT DEVICE_ID,COLOR_TYPE,SERIAL,UNINSTALL_DATE
FROM SUPPLY WHERE DEVICE_ID = '123456' ORDER BY UNINSTALL_DATE DESC)
WHERE ROWNUM <= 1
我設法努力後獲得的UNISTALL_DATE列的最高值MAX(UNISTALL_DATE) or HIGHEST(UNISTALL_DATE)
。
我也試過:
SELECT SUPPLY.DEVICE_ID, SUPPLY.COLOR_TYPE, ....
FROM SUPPLY,DEVICE WHERE SUPPLY.DEVICE_ID = DEVICE.ID
和它的作品,但給我的所有項目,基本上是兩個表的合併。 當我嘗試縮小選定的數據時,出現錯誤或空的結果。
,我開始懷疑,它是無法獲得這些數據,我開始在Excel中的數據和工作從那裏出口,但我希望在放棄之前有人能幫助我...
預先感謝您。