[英]Sql view based on a flag in column
我在SQL中非常忙碌。 我有一个带有列(名称,is_right)的表,我想要一个像这样的视图:
Wrong Name|| Right Name
Jass || Jasu
桌子
Name || is_right
Jass || 0
Jasu || 1
我正在尝试为此找到解决方案,但没有任何效果。 请帮助我或通过任何示例指导我,以便我可以取用。
我将假定您具有用户的MemberID。 请假定@table是您的当前表以及用户信息。 我假设每个memberID只有一个值0和一个值1
declare @table table
(
memberID nvarchar(10),
name nvarchar(10),
is_right integer
)
insert into @table values ('A','Jass',0);
insert into @table values ('A','Jasu',1);
insert into @table values ('B','Pata',0);
insert into @table values ('B','Peter',1);
select distinct
(select B.name from @table B where b.is_right = 0 and B.memberID = A.memberID) as 'wrong name',
(select C.name from @table C where c.is_right = 1 and C.memberID = A.memberID) as 'right name'
from @table A
这是什么回报
名称错误| 正确的名字
杰斯| 雅素
帕塔| 彼得
使用2个子查询。 这些将需要与ID链接,以将它们也链接到主查询,但是您尚未提供该数据。
SELECT
(SELECT Name FROM yourtable WHERE is_right = 0) AS Wrong_Name,
(SELECT Name FROM yourtable WHERE is_right = 1) AS RIGHT_NAME
FROM yourtable
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.