我在SQL中处于非常紧张的状态。 我有一个包含列(name,is_right)的表,我希望得到一个类似的视图:
Wrong Name|| Right Name
Jass || Jasu
表格
Name || is_right
Jass || 0
Jasu || 1
我正试图找到一个解决方案,但没有任何作用。 请帮助我或引导我通过任何一个例子,以便我可以拿起它。
答案 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