[英]SQL Return Column value as Enum - GetValue() field from another Column
這是兩張表;
分類
----------------------------------------
Cathegory (tinyint) | Name (nvarchar)
----------------------------------------
0 | Field
1 | Mountain
2 | River
----------------------------------------
地方
------------------------------------------
Name (nvarchar) | Cathegory(tinyint)
------------------------------------------
Abc | 2
Xyz | 1
------------------------------------------
當我想檢索列出名稱及其分類的地方時,不是 int 格式,而是根據分類中的描述。
所以檢索 Abc 我想要這樣;
“河”而不是“2”
請使用以下查詢,
select c.name as place, p.name as name from Cathegories c
inner join Places p
on (c.Cathegory = p.Cathegory);
您需要在分類上加入兩個表, cathegory
所示。
select
p.name as places,
c.name as category_name
from places p
join cathegories c
on p.cathegory = c.cathegory
這是基於接受的答案的多個 JOIN 語句的版本:
SELECT
ColumnUserViews,
C.Cathegory AS VCathegory,
ColumnUserPoints,
T.Description AS VTag1,
TT.Description AS VTag2
FROM dbo.Users U
JOIN dbo.Cathegories C ON U.Cathegory = C.Cathegory
JOIN dbo.Tags T ON U.Tag1 = T.Tag
JOIN dbo.Tags TT ON U.Tag2 = TT.Tag
關鍵字U定義了物理表Users、T Tags,TT也是Tags(可自由重命名)。 VCathegory 是一個要檢索的新虛擬列,它保存根據當前方案轉換為 Cathegories.Description (的字符串等效項)的 Users.Cathegory 的值。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.