我有如下两张表:
我的查询是:
select req.request_id,
req.sw_ref_number,
reqDet.[value] ,
reqDet.input_id
FROM SOF.tblSOFRequest req
left join SOF.tblSOFRequestDetails reqDet
on req.request_id = reqDet.request_id
where reqDet.input_id = 1
or reqDet.input_id = 2
然后我的结果是:
我想要这样的结果:
此处input_id = 1
表示epi_db_no,input_id = 2
表示manuf_no。
我怎样才能得到这个?
谢谢
最佳答案
您可以像下面的查询一样使用自连接来完成。
SELECT req.request_id
,req.sw_ref_number
,reqDet.[value] AS epi_db_no
,reqDet2.[value] AS manuf_no
FROM SOF.tblSOFRequest req
LEFT JOIN SOF.tblSOFRequestDetails reqDet ON req.request_id = reqDet.request_id
LEFT JOIN SOF.tblSOFRequestDetails reqDet2 ON reqDet.request_id = reqDet2.request_id
AND reqDet2.input_id = 2
WHERE reqDet.input_id = 1
关于sql - 如何编写sql查询来得到这个结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68540872/