SQL Сервер: ПРИСОЕДИНЯЙТЕСЬ к результату, заданному оператором MAX в SELECT - PullRequest
0 голосов
/ 06 февраля 2020

Моя цель - сделать JOIN для результата оператора MAX, который находится внутри всеобъемлющей SELECT, чтобы показать другое поле, с которым результат оператора MAX связан из другой таблицы .

Ниже текущего запроса, который я написал до сих пор:

SELECT 
        'Status' = 
            MAX(
                CASE PMCCONTRACTSTATUSLOG.STATUS 
                    WHEN '3' THEN PMCCONTRACT.RENTALOBJECTID
                    ELSE ''
                END)
        ,PMCCONTRACT.CONTRACTID
        ,PMCCONTRACTSTATUSLOG.STATUS
        ,PMCCONTRACT.RENTALOBJECTID
FROM PMCCONTRACT
LEFT JOIN PMCCONTRACTSTATUSLOG
    ON PMCCONTRACTSTATUSLOG.CONTRACTID = PMCCONTRACT.CONTRACTID
GROUP BY 
    PMCCONTRACT.CONTRACTID
    ,PMCCONTRACT.RENTALOBJECTID
    ,PMCCONTRACTSTATUSLOG.STATUS

Результат этого текущего запроса:

CREATE TABLE Test (     
TEST            NVARCHAR(255)   ,
CONTRACTID      NVARCHAR(255)   ,
STATUS          NVARCHAR(255)   ,
RENTALOBJECTID  NVARCHAR(255)   
);
INSERT INTO Test (TEST, CONTRACTID, STATUS, RENTALOBJECTID)
VALUES
('VGO0000001','HC000001','3','VGO0000001'),
('VGO0000002','HC000002','3','VGO0000002'),
('','HC000003','2','VGO0000004'),
('','HC000004','2','VGO0000005'),
('VGO0000006','HC000005','3','VGO0000006'),
('VGO0000008','HC000006','3','VGO0000008'),
('','HC000007','2','VGO0000011'),
('','HC000008','2','VGO0000013'),
('','HC000009','2','VGO0000014'),
('','HC000010','2','VGO0000015')
SELECT * FROM Test

И в моем первом запросе я хочу присоединиться к полю Test2.TEST из таблицы ниже в поле Test.TEST из таблицы выше и покажите Test2.NAME. Ниже второй таблицы Test2:

CREATE TABLE Test2 (        
TEST    NVARCHAR(255)   ,
NAME    NVARCHAR(255)   
);
INSERT INTO Test2 (TEST, NAME)
VALUES
('VGO0000014','100'),
('VGO0000015','101'),
('VGO0000001','87'),
('VGO0000002','88'),
('VGO0000004','90'),
('VGO0000005','91'),
('VGO0000006','92'),
('VGO0000008','94'),
('VGO0000011','97'),
('VGO0000013','99')
SELECT * FROM Test2
...