0

次の表があります。クエリを実行したいのですが、初心者のtsqlレベルでは役に立たないと思います。データベースの設計が悪い状況でもある可能性があります。

テーブル

基本的に、からすべてのフィールドを選択する必要がありますtblPhotoGalleries。また、という名前の別のフィールドを作成する必要がありますGalleryCategoryName

GalleryCategoryNameフィールドはになりpCatNameますtblPhotoGalleryCats

の場合pCatName、それは0以外のtblPhotoGalleryCats = '0'ことを意味します。その場合;ConnectedNewsCatID

GalleryCategoryNametblNewsCategoriesここからCategoryNameフィールドになりますCategoryID = ConnectedNewsCatID

4

2 に答える 2

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
于 2012-07-03T19:15:57.390 に答える
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
于 2012-07-03T19:17:31.483 に答える