三个表如何full join(sql语句有点长...)
前两个表已经合并成功了,条件是->第一个表和第二表中 的 ProjectID字段和StatisticsDate字段值同时相同,则进行合并!!
sql语句如下
现在我想合并第三个表,也用full join。同时条件是 与上面两表中任何一个表的ProjectID字段和StatisticsDate字段值同时相同
就 进行合并(应该是这个逻辑没错吧),应该怎么写呢?
第三个表单独查询的sql语句->
select StatisticsDate,ProjectID,CostAmount,ShowAmount,ClickAmount from BidStatistics
sql语句如下
SELECT a.StatisticsDate as 对话量日期,a.ProjectID as 对话量项目ID,a.LocalAllCount as 本地对话量,
a.NoLocalAllCount as 外地对话量,a.LocalValidCount 本地有效对话量,a.NoLocalValidCount as 外地有效对话量,
b.预约总数,b.到诊总数,b.到诊率,b.主表日期,b.ProjectID as 主表项目ID
FROM DialogueQuantity a FULL join
(select ProjectID,主表日期=convert(varchar(10),OrderTime,120),
COUNT(convert(varchar(10),OrderTime,120)) as 预约总数,
sum(case when PatientStatus='复诊' or PatientStatus='初诊' then 1 else 0 end) as 到诊总数,
ltrim(sum(case when PatientStatus='复诊' or PatientStatus='初诊' then 1 else 0 end)*100/count(1))+'%' as 到诊
率 from Orders where IsArrive=0 group by convert(varchar(10),OrderTime,120) ,ProjectID)b
on a.ProjectID=b.ProjectID
and a.StatisticsDate= b.主表日期
现在我想合并第三个表,也用full join。同时条件是 与上面两表中任何一个表的ProjectID字段和StatisticsDate字段值同时相同
就 进行合并(应该是这个逻辑没错吧),应该怎么写呢?
第三个表单独查询的sql语句->
select StatisticsDate,ProjectID,CostAmount,ShowAmount,ClickAmount from BidStatistics
...全文
相关推荐
sql语句join中on和where的区别
本文简单描述了sql语句join中on和where的区别以及其原理
经典sql语句,关联到四张表,非常经典
经典的关联语句经典的关联语句经典的关联语句经典的关联语句经典的关联语句
mysql 一条语句删除多表数据
平时工作中可以用到的,将关联的表中的数据,用一条语句删除,节省数据库链接资源
sql语句中join的用法
sql语句中join的用法 sql语句中join的用法
SQL中JOIN和UNION区别、用法及示例介绍
1.JOIN和UNION区别 join 是两张表做交连后里面条件相同的部分记录产生一个记录集, union是产生的两个记录集(字段要一样的)并在一起,成为一个新的记录集 。 JOIN用于按照ON条件联接两个表,主要有四种: INNER JOIN:内部联接两个表中的记录,仅当至少有一个同属于两表的行符合联接条件时,内联接才返回行。我理解的是只要记录不符合ON条件,就不会显示在结果集内。 LEFT JOIN / LEFT OUTER JOIN:外部联接两个表中的记录,并包含左表中的全部记录。如果左表的某记录在右表中没有匹配记录,则在相关联的结果集中右表的所有选择列表列均为空值。理解为即使不符合ON


