Моя цель - сделать 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