我们有两个表"Header“和"Request”。
标头表有以下列"NewItemHeaderId","HeaderStatus“
请求表有以下列"NewItemRequestid","RequestStatus","NewItemHeaderId“
表值,如下所示,使用左联接
NewItemHeaderId | HeaderStatus | NewItemRequestId | RequestStatus
1147 MRD - Standardizer Pending 3351 MRD - Standardizer Pending
1148 TPSP - QC Pending 3352 TPSP - QC Pending
1148 TPSP - QC Pending 3353 TPSP - QC Pending
1149 TPSP - QC Pending 3354 MRD - Standardizer Pending
1149 TPSP - QC Pending 3355 MRD - Standardizer Pending我需要在下面的条件中得到NewItemHeaderId
形式上的例子
NewItemHeaderId 1149在请求表中有两个条目(3354,3355)。
我们需要检查3354和3355 RequestStatus将是"MRD -标准化待定“。
如果两者都有相同的状态,那么我们需要检查HeaderStatus,它应该是"MRD -标准化待定“,如果不是,我们需要得到那个NewItemHeaderId。
例如,结果如下
NewItemHeaderId
---------------
11491147没有显示,因为RequestStatus和标头状态都是"MRD -标准化待定“。
1148没有显示,因为RequestStatus不是"MRD -标准化待定“
在上表中,HeaderStatus将是1149 NewItemHeaderId的"MRD -标准化待定“。
它将返回null。
上表sql查询如下
SELECT NIH.NewItemHeaderId,NIH.TPSPStatus AS 'Header Status',
NIR.NewItemRequestId,NIR.Status AS RequesStatus
FROM NewItemHeader NIH
LEFT JOIN NewItemRequest NIR ON NIR.NewItemHeaderId = NIH.NewItemHeaderId发布于 2019-02-26 14:46:09
我想你应该添加条件
SELECT NIH.NewItemHeaderId,NIH.TPSPStatus AS 'Header Status',
NIR.NewItemRequestId,NIR.Status AS RequesStatus
FROM NewItemHeader NIH
LEFT JOIN NewItemRequest NIR ON NIR.NewItemHeaderId = NIH.NewItemHeaderId
WHERE NIH.TPSPStatus = 'MRD - Standardizer Pending'
AND NIR.Status = 'MRD - Standardizer Pending' https://stackoverflow.com/questions/54886215
复制相似问题