2012-03-12 76 views
-2

我有表查詢與計算字段

Manga 
idmanga title idauthor idgenre idmagazine 

和表

Author 
idauthor name surname 

如何獲得表的字段

fullname  title sumofids 
name+surname   idmanga+idauthor+idgenre+idmagazine 

我能得到全名這樣

select name+' '+surname as Fullname from Author 

但如何在一個查詢中獲取其他字段?

回答

1
select CONVERT(VARCHAR,idmanga) 
+CONVERT(VARCHAR,idauthor) 
+CONVERT(VARCHAR,idgenre) 
+CONVERT(VARCHAR,idmagazine) 

這應該在一個字符串中完成。

+ ' ' +加入空格。

要將所有值一起添加,您的查詢應該可以獲取每一行的值。如果你想按名稱來滾動結果時,使用SUM(),你會得到每唯一的名稱組合

create table Test (Name varchar(10) 
,idmanga int 
,idauthor int 
,idgenre int 
,idmagazine int) 

insert into Test 
select 'Roger',1,2,3,4 
union select 'Bob',4,5,6,7 
union select 'Roger',8,9,10,11 
union select 'Bob',12,13,14,15 
union select 'Bill',16,17,18,19 

select Name 
, idmanga+idauthor+idgenre+idmagazine 
from Test 

select Name 
, SUM(idmanga+idauthor+idgenre+idmagazine) 
from Test 
group by Name 
+0

我的意思是像總結idauthor(1)+ idmanga(2)+ idgenre一行( 3)+ idmagazine(4)= 10 – 2012-03-12 17:15:51

+0

儘管我不認爲原始查詢是作者所追求的,但請不要指定'VARCHAR'而不指定長度。這是懶惰的速記,在某些時候會導致麻煩。 http://sqlblog.com/blogs/aaron_bertrand/archive/2009/10/09/bad-habits-to-kick-declaring-varchar-without-length.aspx – 2012-03-12 17:58:08