⑴ sqlserver2008存储过程如何并列显示输出结果集
sql server存储过程 输出结果集 还是比较简单的.
直接复在 存储过程里面执行 SQL 语句就可以了。
例如:
-- 测试制返回结果集的存储过程
CREATE PROCEDURE testProc
AS
BEGIN
SELECT 'Hello 1' AS A, 'World 1' AS B UNION ALL
SELECT 'Hello 2' AS A, 'World 2' AS B;
END
go
剩下的, 就是你用 别的开发知语言, 例如 C# 什么的道, 调用这个存储过程, 获取结果集了。
⑵ 两行数据并排显示 SQL
SQL Server 2000,只能写自定义函数
2005以上可以用以下实现。
SELECT *
FROM(
SELECT DISTINCT
store_name
FROM store
)A
OUTER APPLY(
SELECT
[store_name]= STUFF(REPLACE(REPLACE(
(
SELECT store_name
FROM store N
WHERE store_name
= A.store_name
FOR XML AUTO
), '<N store_name
="', ','), '"/>', ''), 1, 1, '')
)N
⑶ sql 同表 查询多行并排显示
SELECT 日期,SUM(CASE WHEN 类型='A' THEN 次数 ELSE 0 END) AS A次数,
SUM(CASE WHEN 类型='A' THEN 金额 ELSE 0 END) AS A金额,
SUM(CASE WHEN 类型='B' THEN 次数 ELSE 0 END) AS B次数,
SUM(CASE WHEN 类型='B' THEN 金额 ELSE 0 END) AS B金额
FROM 表
GROUP BY 日期
⑷ SQL查询结果并排显示,求大神--SQL语句
存在一主键ID,下面这句可以查询前15条记录中的,中间5条记录select top 5 * from 表 where ID not in(select top 5 ID from 表 order by ID)
⑸ sql语句将两个查询结果并列输出
如果是2个SQL语句的话。如果列名都一样,使用UNIONALL就可以了。例如select*from表1UNIONALLselect*from表2就可以了。
⑹ 怎么用sql语句将两个表的字段并列查询出来
select * from table1 union all select * from table2,union all 是所有的都显示出来,union 是只显示不重复的,如果两个表的字段部分相同,把查询的字段写出来亦可
⑺ 用sql语句 怎样实现 相同人员的信息并排显示
创建测试表及数据
createtable人员代码表
(代码varchar(3),
姓名varchar(10))
createtable项目表
(代码varchar(4),
项目varchar(20))
createtable人员项目表
(代码1varchar(3),
代码2varchar(4))
insertinto人员代码表values('001','张三')
insertinto人员代码表values('002','李四')
insertinto人员代码表values('00x','王五')
insertinto项目表values('x001','基本工资')
insertinto项目表values('x002','岗位津贴')
insertinto项目表values('x003','出差补助')
insertinto人员项目表values('001','x001')
insertinto人员项目表values('001','x002')
insertinto人员项目表values('001','x003')
insertinto人员项目表values('002','x001')
insertinto人员项目表values('002','x002')
执行
declare@sqlvarchar(4000)
set@sql='select[姓名]'
select@sql=@sql+',max(case[项目]when'''+[项目]+'''then[项目]end)as
['+[项目]+']'
from(selectdistinct[项目]from[test])asa
select@sql=@sql+'from(selecta.姓名,b.项目from人员代码表a,项目表b,人员项目表cwherea.代码=c.代码1andb.代码=c.代码2)testgroupby[姓名]'
exec(@sql)
结果
⑻ 合并两条SQL语句,数据记录并列显示在一列
这个我项目里的代码,和你的问题差不多。我这里能执行。上午没有帮你解决问题。。你看看这个能不能帮到你。
SELECT wm_shiji_addr AS 地址, warm_time AS 时间, warm_jz_num 集中器编号, wm_num 电表编号,
warm_reason 报警原因, 处理人 = (CASE WHEN warm_deal_with IS NULL
THEN '未处理' WHEN warm_deal_with IS NOT NULL THEN warm_deal_with END),
备注 = (CASE WHEN warm_remark IS NULL THEN '无备注' WHEN warm_remark IS NOT NULL
THEN warm_remark END)
FROM warm_new, wm_shiji_info
WHERE warm_new.warm_wm_or_em_num = wm_shiji_info.wm_shiji_num AND
wm_shiji_info.jz_num = warm_new.warm_jz_num
UNION
SELECT em_shiji_addr AS 地址, warm_time AS 时间, warm_jz_num 集中器编号, em_num 电表编号,
warm_reason 报警原因, 处理人 = (CASE WHEN warm_deal_with IS NULL
THEN '未处理' WHEN warm_deal_with IS NOT NULL THEN warm_deal_with END),
备注 = (CASE WHEN warm_remark IS NULL THEN '无备注' WHEN warm_remark IS NOT NULL
THEN warm_remark END)
FROM warm_new, em_shiji_info
WHERE warm_new.warm_wm_or_em_num = em_shiji_info.em_shiji_num AND
em_shiji_info.jz_num = warm_new.warm_jz_num
UNION
SELECT jz_addr AS 地址, warm_time AS 时间, warm_jz_num 集中器编号, 电表编号 = '000000000000',
warm_reason 报警原因, 处理人 = (CASE WHEN warm_deal_with IS NULL
THEN '未处理' WHEN warm_deal_with IS NOT NULL THEN warm_deal_with END),
备注 = (CASE WHEN warm_remark IS NULL THEN '无备注' WHEN warm_remark IS NOT NULL
THEN warm_remark END)
FROM warm_new, jz_info
WHERE warm_new.warm_jz_num = jz_info.jz_num AND warm_wm_or_em_num IS NULL
⑼ SQL 搜索数据相加 并列显示
select sum(分数) from 表 where 日期=day
select sum(分数) from 表 where 日期=month
select sum(分数) from 表 where 日期=year
⑽ SQL查询如何另数据并排显示
--测试环境mssql2008
createtablet
(
AVArchar(10),
Bint
)
insertintoTvalues('张三',60)
insertintoTvalues('张三',50)
insertintoTvalues('张三',70)
insertintoTvalues('张三',40)
insertintoTvalues('李四',10)
insertintoTvalues('李四',20)
insertintoTvalues('李四',30)
insertintoTvalues('王五',40)
--按A分组,产生一个记录号
--然后按记录号行列转换
selectA,[1]AsB,[2]ASC,[3]AsD,[4]AsEfrom
(
select*,ROW_NUMBER()over(partitionbyAorderbygetdate())Asid
fromT
)M
pivot
(
max(B)
Foridin([1],[2],[3],[4])
)N