当我运行针对SQL Server数据库的SQL语句:TSQL返回基于列的首选值不同的行
SELECT
t1.id, t1.name, t2.status
FROM
t1
JOIN
t2 ON t1.id = t2.id
WHERE
t1.id = t2.id
我得到下面的结果
id name status
-------------------
1 bob active
1 bob draft
2 jim active
3 ted draft
我想了解如何构建WHERE
语句以获得以下所需结果。
id name status
-------------------
1 bob active
2 jim active
3 ted draft
基本上我试图解决的问题是,当有多个状态和赞成的状态主动删除的行删除重复的行,我真的试图避免嵌套查询,或者如果可能的相交。
什么是最佳状态?你能否提供't1'和't2'的样本数据。 –
你的连接条件是't1.id = t2.id'。两张表都有相同的ID字段吗?或者你的意思是't1.statusid = t2.id' – ughai
如果'Active'和'Draft'都存在,首选的状态是'Active'。 – ImaginateWayne