2016-09-18 125 views
0

我正在使用以下查詢從2個表中抽取一些信息,以使用「Category」值填充我網站上的下拉字段。TSQL union all - error

我收到以下錯誤消息。

所有使用UNION,INTERSECT或EXCEPT運算符組合的查詢在其目標列表中必須具有相同數量的表達式。

這是我的查詢:

select 'Choose a Category', 'All' 

Union All 

select distinct CategoryName 
from BND_Listing 
inner join BND_listingCategories on BND_Listing.CatID = BND_ListingCategories.CatID 

我懷疑它是與內加入?

任何輸入讚賞!

+2

您試圖工會查詢,返回2列(' '選擇一個類別',「All'')與另一個人比只返回一個('CategoryName') 。 – sstan

回答

2
select 'Choose a Category' as CategoryName 
Union All 
select 'All' as CategoryName 
Union All 
select distinct CategoryName from BND_Listing 
inner join BND_listingCategories 
on BND_Listing.CatID=BND_ListingCategories.CatID 

select 'Choose a Category' as CategoryName, 'All' as Value 
Union All 
select distinct CategoryName, CategoryName as Value from BND_Listing 
inner join BND_listingCategories 
on BND_Listing.CatID=BND_ListingCategories.CatID 
+0

感謝Markus的快速回復! – UserSN

+0

如果我想將文本顯示爲「選擇類別」,但值「全部」,該怎麼辦? – UserSN

+0

然後,您還必須爲下面的選擇添加一個值。所有與「Union All」組合的查詢必須具有相同數量的列和數據類型。 –