對於下面的Table結構,我無法構建所需的輸出,不確定是否需要應用轉置,但我沒有很強的知識。 最後給出了用於表創建和數據插入的SQL腳本。Oracle SQL查詢 - 需要幫助
輸出格式應如上所示,輸出結果的ID_MAX_VAL應爲主源表中每個製造商國家組合的ID的最大值。我需要獲取每個製造商國家/地區組合的最大ID,並顯示/使用它們發送報告。
輸出:
MANUFACTURER COUNTRY ID_MAX_VAL
--------------------------------------
NISSAN USA 10
NISSAN UK 30
HONDA USA 80
HONDA UK 70
注:這是一個測試數據和表結構來模擬實際的業務需求。
與我剛纔提到的表格類似的視圖是我們唯一可以訪問的東西,並且可以作爲我們的唯一來源。只能使用它。
SQL腳本:
CREATE TABLE TB_TEST_01
(
ID NUMBER(6) NOT NULL
, PARAM_NM VARCHAR2(200) NOT NULL
, PARAM_VAL VARCHAR2(200)
);
/
INSERT INTO TB_TEST_01 (ID, PARAM_NM, PARAM_VAL) VALUES (10, 'MANUFACTURER', 'NISSAN');
INSERT INTO TB_TEST_01 (ID, PARAM_NM, PARAM_VAL) VALUES (10, 'COUNTRY', 'USA');
INSERT INTO TB_TEST_01 (ID, PARAM_NM, PARAM_VAL) VALUES (30, 'MANUFACTURER', 'NISSAN');
INSERT INTO TB_TEST_01 (ID, PARAM_NM, PARAM_VAL) VALUES (30, 'COUNTRY', 'UK');
INSERT INTO TB_TEST_01 (ID, PARAM_NM, PARAM_VAL) VALUES (20, 'MANUFACTURER', 'NISSAN');
INSERT INTO TB_TEST_01 (ID, PARAM_NM, PARAM_VAL) VALUES (20, 'COUNTRY', 'UK');
INSERT INTO TB_TEST_01 (ID, PARAM_NM, PARAM_VAL) VALUES (50, 'MANUFACTURER', 'HONDA');
INSERT INTO TB_TEST_01 (ID, PARAM_NM, PARAM_VAL) VALUES (50, 'COUNTRY', 'USA');
INSERT INTO TB_TEST_01 (ID, PARAM_NM, PARAM_VAL) VALUES (60, 'MANUFACTURER', 'HONDA');
INSERT INTO TB_TEST_01 (ID, PARAM_NM, PARAM_VAL) VALUES (60, 'COUNTRY', 'USA');
INSERT INTO TB_TEST_01 (ID, PARAM_NM, PARAM_VAL) VALUES (80, 'MANUFACTURER', 'HONDA');
INSERT INTO TB_TEST_01 (ID, PARAM_NM, PARAM_VAL) VALUES (80, 'COUNTRY', 'USA');
INSERT INTO TB_TEST_01 (ID, PARAM_NM, PARAM_VAL) VALUES (70, 'MANUFACTURER', 'HONDA');
INSERT INTO TB_TEST_01 (ID, PARAM_NM, PARAM_VAL) VALUES (70, 'COUNTRY', 'UK')
;
/
COMMIT;
不要使用';'**和**'/'定期DDL或DML語句:HTTP://計算器.com/questions/1079949/sql-the-semicolon-or-the-slash/10207695#10207695 –