以下是我的sql查询
select id,
coalesce(min(case when result = 'good' then 'good end),
min(date)
)
coalesce(min(case when result = 'good' then 'good' end),
'bad'
)
from t
group by id;
这就是我的tblProdcuts的样子
我的tblAlternates看起来像这样
我当前的结果如下
我希望看到的结果只是单行而不是3行。
任何帮助将不胜感激。
答案 0 :(得分:0)
“由于在子查询中,您同时按” productId“和 就像在问题中显示的那样,在“ matchingmodels”列中,您将获得“ productId”的重复值。当您进行联接时,它将返回所有匹配项,因此将得到重复项。由于您似乎不需要“ matchingModels”列,因此无法在子查询中选择它,这将处理重复项。
select p.ProductID,p.PartNo,p.Description
from tblProducts p left join
(select productid
from tblAlternates
where matchingmodels like '%TYT%'
group by productid
) alt
on p.productid = alt.productid
或
select p.ProductID,p.PartNo,p.Description
from tblProducts p left join
(select DISTINCT productid
from tblAlternates
where matchingmodels like '%TYT%'
) alt
on p.productid = alt.productid
顺便说一句,您需要为此在子查询中移动“ where”条件