Ⅰ 下面两条sql语句如何合并为一条语句 语句一:SELECT a_account ,COUNT(a_account)
照理说,语句二中有了表关联、分组统计,说明你是大致懂的。
那再将语句一关联起来就行了。可能是你没有想到“
子查询
”吧。
下面的代码逻辑是清晰的,应该比较好懂
SELECT P.*
,D1.yh, D2. ah
,D2.adzs
FROM a_p P
LEFT JOIN (原先的语句2中,分组统计部分
SELECT l_account AS Account
,SUM(...) AS yh
,SUM(...) AS ah
FROM a_l L
GROUP BY l_account
) D1 ON D1.Account = P.p_account
LEFT JOIN (--原先的语句1
SELECT a_account AS Account
,COUNT(*) AS qdzs
FROM a_attendance
WHERE Year(a_date) = 2016
GROUP BY l_account
) D2 ON D1.Account = P.p_account
另外,你的代码中有些缺陷:
1、CASE
WHEN
...
ELSE
''
END有问题,空格的值能够SUM()起来?
2、时间段的写法可能存在窟窿。改成如下:
WHERE
a_date
>=
'2016-12-01'
AND
a_date
<
'2017-01-01'
能看出问题所在吗?
Ⅱ 怎样把两条sql语句连起来
使用union
SQL UNION 操作符
UNION 操作符用于合并两个或多个 SELECT 语句的结果集。
请注意,UNION 内部的 SELECT 语句必须拥有相同数量的列。列也必须拥有相似的数据类型。同时,每条 SELECT 语句中的列的顺序必须相同。
Ⅲ Sql语句合并
你都写成xx你不会看晕吗?
insertintoxxx(xx,yy,zz)selectxx,yy,idfromyyywhereid=5
Ⅳ 怎么合并两个sql语句的查询结果
Select id=1,name='李某某'
Union All Select 2,王某某
Union All Select 2,王某某
这样合并不会去重 不要all 内部会有个去重操作 但是有all时后效率比没all 高
Select id,name from table1
Union Select id,name from table2
Union Select id,name from table3
合并的语法是: select 列1,列2,列3,列n Union Select select 列1,列2,列3,列n
固定数据可以没有from table
Ⅳ 如何把两条SQL语句合并
insert into sum1(fullwork, parttime) select count(staffKind='全职'), count(staffKind='兼职') from basicInfo
Ⅵ mysql 将两个SQL语句查询结果并在一起
需要将结果合并到一起显示出来,这个时候
就需要用到union和union all关键字来实现这样的功能,union和union all的主要区别是union all是把结果集直接合并在一起,而
union 是将union all后的结果进行一次distinct,去除重复的记录后的结果。
Ⅶ sql 2条查询语句合并
SELECT*FROM(SELECTtop20服务点,书名FROMbookwhere服务点='004'orderbycast(天数asint)desc)TBL1
UNIONALL
SELECT*FROM(SELECTtop20服务点,书名FROMbookwhere服务点='029'orderbycast(天数asint)desc)TBL2