基于列中的标志的SQL视图

时间:2016-04-08 07:14:37

标签: mysql sql

我在SQL中处于非常紧张的状态。 我有一个包含列(name,is_right)的表,我希望得到一个类似的视图:

Wrong Name|| Right Name 
Jass      ||  Jasu  

表格

Name  || is_right
Jass  || 0  
Jasu  || 1

我正试图找到一个解决方案,但没有任何作用。 请帮助我或引导我通过任何一个例子,以便我可以拿起它。

2 个答案:

答案 0 :(得分: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

这是什么回归

错误的名字|正确的名字

Jass | Jasu

Pata |彼得

答案 1 :(得分:0)

使用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