2013-08-16 119 views
0

我有一個查詢:追加顏色值查詢結果

declare @colors table (color varchar(50)); 
declare @T table(RowNo int, LocationID bigint, TotalSales money, DBAName varchar(50), Color varchar(50)); 

insert into @colors 
select distinct Color 
from dbx.dbo.SampleData; 

select top 5 * 
from @colors 
order by newid() 

insert into @T 
select (row_number() over (order by LocationID)) as RowNo, 
     LocationID, sum(TransAmount) as TotalSales, DBAName, Color 
from dbx.dbo.SampleData 
group by LocationID, DBAName, Color 

select * from (
    select LocationID, TotalSales, DBAName 
    from @T 
) x 
group by LocationID, TotalSales, DBAName 

它擁有以下結果:

Results

我想知道如何RIGHT JOIN(或任何其他更好的解決方案)@colors轉換爲@T,以便每行具有如下獨特的顏色值:

What I want

我很感激任何幫助。謝謝!

+2

行應該有什麼顏色?我們如何爲每一行選擇正確的顏色? – Lamak

+0

顏色在查詢中拉出。檢查圖片。我創建了兩個表格。一個有顏色值,另一個有數據。 –

+1

是的,我現在可以檢查它,你編輯你的問題與新圖片,包括該信息 – Lamak

回答

0

你需要在兩個表中有一些共同的列來加入它們。例如,您可以在Colors表中添加一個名爲LocationId的附加列,併爲每個locationId分配唯一的顏色。然後查詢將是:

Select T.LocationID, T.TotalSales, T.DBAName,C.Color 
From @T t join @Colors C on T.LocationId=C.LocationId