在SQL服务器中进行多选 [英] Multi select in SQL server

查看:116
本文介绍了在SQL服务器中进行多选的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

亲爱的,



i有3个SQL语句我想将它们合并为一个但是每个都有自己的条件我怎么能合并它们

1st:

dear all,

i have 3 SQL statement i want to merge them into one but each of them has its own where condition how can i merge them
1st:

SELECT
	ProjectCode,
	SUM (- 1 *(CreditAm) +(DebitAm)) AS Balance
FROM
	[dbo].[AcDetail]
WHERE
	AcCode IN (
		401000,
		402000,
		403000,
		404000,
		405000,
		406000,
		407000,
		499999
	)
AND BranchCode = 'WP'
AND TDate >= '2016-01-01'
AND TDate <= '2016-12-31'
GROUP BY
	ProjectCode





2nd



2nd

SELECT
	ProjectCode,
	SUM (- 1 *(CreditAm) +(DebitAm)) AS Materials
FROM
	[dbo].[AcDetail]
WHERE
	AcCode IN (600001, 600002, 600151)
AND BranchCode = 'WP'
AND TDate >= '2016-01-01'
AND TDate <= '2016-12-31'
GROUP BY
	ProjectCode





3rd:



3rd:

SELECT
	ProjectCode,
	SUM (- 1 *(CreditAm) +(DebitAm)) AS Salaries
FROM
	[dbo].[AcDetail]
WHERE
	AcCode IN (
		650001,
		650005,
		650006,
		650007,
		650008,
		650009,
		650010,
		650020,
		650021,
		650022,
		650023,
		650024,
		650025,
		650026,
		650027
	)
AND BranchCode = 'WP'
AND TDate >= '2016-01-01'
AND TDate <= '2016-12-31'
GROUP BY
	ProjectCode
ORDER BY
	ProjectCode





我尝试过:





What I have tried:

SELECT
	ProjectCode,
	SUM (- 1 *(CreditAm) +(DebitAm)) AS Balance
FROM
	[dbo].[AcDetail]
WHERE
	AcCode IN (
		401000,
		402000,
		403000,
		404000,
		405000,
		406000,
		407000,
		499999
	)
AND BranchCode = 'WP'
AND TDate >= '2016-01-01'
AND TDate <= '2016-12-31'
GROUP BY
	ProjectCode

推荐答案

你可以使用 UNION resp。只要所有单个查询以相同的顺序返回完全相同的列, UNION ALL 语句就可以连接多个单个查询。
You can use UNION resp. UNION ALL statement to concatenate as many single queries as you need as long as all return exactly the same columns in the same order.


这篇关于在SQL服务器中进行多选的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆