SELECT ID FROM
(SELECT
MAX(ID) ID,APPLICATION_TIME,COUNT(*) NUM
FROM
CRD_STA_APPROVAL
WHERE
ORGANIZATION_CODE = 0000
AND POSITION_LEVEL <= 1
AND APPROVE_RESULT = 3
GROUP BY
APPLICATION_TIME) a
WHERE a.NUM=1
返回不可審批的信息
SELECT * FROM CRD_STA_APPROVAL WHERE APPROVE_RESULT <2
返回不可審批的id
SELECT
ID
FROM
CRD_STA_APPROVAL b
INNER JOIN ( SELECT APPLICATION_TIME FROM CRD_STA_APPROVAL WHERE APPROVE_RESULT =0 ) a ON a.APPLICATION_TIME = b.APPLICATION_TIME
Test
SELECT
a.NUM AA_NO,
CASE WHEN b.NUM IS NULL THEN '0' ELSE b.NUM END AS BB_NO
FROM
AA a LEFT JOIN BB b ON a.NUM = b.NUM
成功的與失敗的left join,如果右表返回爲null,則 默認值爲0
SELECT
res.YID
FROM
( SELECT y.ID YID,
CASE WHEN n.ID IS NULL THEN '0' ELSE n.ID
END AS NID
FROM
( SELECT a.ID ID
FROM
( SELECT MAX( ID ) ID,
APPLICATION_TIME,
COUNT( * ) NUM
FROM
CRD_STA_APPROVAL
WHERE
ORGANIZATION_CODE = 0000
AND POSITION_LEVEL <= 2
AND APPROVE_RESULT = 3
GROUP BY
APPLICATION_TIME
) a
WHERE
a.NUM = 1
) y
LEFT JOIN ( SELECT ID FROM CRD_STA_APPROVAL b INNER JOIN ( SELECT APPLICATION_TIME FROM CRD_STA_APPROVAL WHERE APPROVE_RESULT = 0 ) a ON a.APPLICATION_TIME = b.APPLICATION_TIME ) n ON y.ID = n.ID
) res
WHERE
res.YID != res.NID
RESULT
SELECT
res.YID
FROM
( SELECT y.ID YID,
CASE WHEN n.ID IS NULL THEN '0' ELSE n.ID
END AS NID
FROM
( SELECT a.ID ID
FROM
( SELECT MAX( ID ) ID,
APPLICATION_TIME,
COUNT( * ) NUM
FROM
CRD_STA_APPROVAL
WHERE
ORGANIZATION_CODE = 0000
AND POSITION_LEVEL <= 2
AND APPROVE_RESULT = 3
GROUP BY
APPLICATION_TIME,
PRODUCT_CODE,
APPLICATION_TYPES
) a
WHERE
a.NUM = 1
) y
LEFT JOIN ( SELECT ID FROM CRD_STA_APPROVAL b INNER JOIN ( SELECT APPLICATION_TIME FROM CRD_STA_APPROVAL WHERE APPROVE_RESULT = 0 ) a ON a.APPLICATION_TIME = b.APPLICATION_TIME ) n ON y.ID = n.ID
) res
WHERE
res.YID != res.NID