簡體   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