我有以下表格。我想运行一个查询,但我认为我的初学者tsql级别在这里没有帮助..这可能也是我的数据库设计不好的情况。
基本上我需要从tblPhotoGalleries
中选择所有字段。另外,我需要创建一个名为GalleryCategoryName
的单独字段。
GalleryCategoryName
字段将是pCatName
中的tblPhotoGalleryCats
。
如果在pCatName
中tblPhotoGalleryCats = '0'
,那就意味着,ConnectedNewsCatID
不是0。在这种情况下;
GalleryCategoryName
将是tblNewsCategories
中的{Name}字段CategoryID = ConnectedNewsCatID
答案 0 :(得分:0)
尝试从这里开始:
select *,
case when PGC.pCatName = '0' then NC.CategoryName else PGC.pCatName end as [CatName]
from tblPhotoGalleries as PG inner join
tblPhotoGalleryCats as PGC on PGC.pCatID = FK_pCatID left outer join
tblNewsCategories as NC on NC.CategoryId = ConnectedNewsCatID
答案 1 :(得分:0)
在新闻类别表上使用左连接,并使用案例表达式在名称之间进行选择:
select
g.pgID, g.gName,
GalleryCategoryName = case c.pCatName when '0' then n.CategoryName else c.pCatName end
from tblPhotoGalleries g
inner join tblPhotoGFalleryCats c on c.pCatID = g.FK_pCatID
left join tblNewsCategories n on n.CategoryOd = c.ConnectedNewsCatID