0

あなたの助けが必要になったら、

データベースに 3 つのテーブルがあります。

1>結婚式

Column Name    Data Type
-------------------------------------
wedID          Int (primary key)
wedName        varchar (50)

2>サイトを選択

Column Name   Data Type
-----------------------------------
wedID         Int (without foreign key and primary key with null allow)
siteID        Int (without foreign key and primary key with null allow)
siteStatus    varchar(50)

3>ウェブサイト

Column Name   Data Type
--------------------------------      
siteID        Int (Primary Key) 
siteName      varchar(50)
siteFile      varchar(MAX)

次の出力が必要です。

 ws.siteID     ws.siteName     ws.siteFile    s.wedID   s.sitestatus
 ----------------------------------------------------------------------------
 1              Show           show.jpeg      6         Yes
 2              My View        my view.png    5     
 3              Dream          dream.jpeg     3     

wswebSiteテーブルのsエイリアス、はテーブルのエイリアスですsiteSelect

wedID が一致しない場合、table のすべてのデータとwherewebSiteのデータのみが表示されないsiteSelects.siteStatusYes

次のSQLクエリを試します

select 
    DISTINCT(ws.siteID), s.wedID, ws.siteName, 
    ws.siteFile, s.siteStatus 
from wedding wd, webSite ws 
left outer join siteSelect s on ws.siteID = s.siteID 
where wd.wedID = @wedID

しかし、出力は次のようになります。

 ws.siteID     ws.siteName     ws.siteFile    s.wedID   s.sitestatus
 -----------------------------------------------------------------------
 1              Show           show.jpeg      6         Yes
 2              My View        my view.png    5         Yes
 3              Dream          dream.jpeg     3         Yes
4

2 に答える 2

2

デモ SQL フィドル

デモを確認して、いくつかの値を追加して、このクエリを実行してください

select 
   ws.siteId, ws.siteName, ws.siteFile, ss.wedID,
   (case 
      when ss.wedID = 1 then ss.siteStatus else '' end) as siteStatus
from 
   website ws 
join 
   selectsite ss on ss.siteID=ws.siteID

問題があれば教えてください

于 2012-08-24T07:12:31.517 に答える
0

これを試して

select 
    DISTINCT(ws.siteID), s.wedID, ws.siteName, ws.siteFile, 
    (case 
        when s.wedID = @wedID 
        then s.siteStatus 
        else '' end) as siteStatus, wd.wedName
from webSite ws  
left join selectSite s on ws.siteID = s.siteID  
Left Join wedding wd on wd.wedID = s.wedID
于 2012-08-24T06:42:26.030 に答える