[英]How to use join query to fetch data from more than two tables without foreign key and primary key
Once I need your help, 一旦我需要你的帮助,
I have three table in my database. 我的数据库中有三个表。
1> wedding 1> 婚礼
Column Name Data Type
-------------------------------------
wedID Int (primary key)
wedName varchar (50)
2> selectSite 2> selectSite
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> webSite 3> webSite
Column Name Data Type
--------------------------------
siteID Int (Primary Key)
siteName varchar(50)
siteFile varchar(MAX)
I want the following output: 我想要以下输出:
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
ws
is alias of webSite
table, s
is alias of siteSelect
table. ws
是webSite
表s
别名, s
是siteSelect
表的别名。
All data from webSite
table and only data from siteSelect
where s.siteStatus
do not display Yes
if wedID not match 来自
webSite
表的所有数据以及来自siteSelect
数据,其中s.siteStatus
不显示Yes
如果wedID不匹配
I try following sql query 我尝试下面的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
but output is like this: 但是输出是这样的:
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
DEMO SQL FIDDLE DEMO SQL FIDDLE
Check the demo add some values as you having and run this query 检查演示添加一些值并运行此查询
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
let me knw if any prob 如果有任何疑问,请告诉我
try this 尝试这个
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
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.