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