繁体   English   中英

基于列中标志的SQL视图

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM