关于SQL查询的请教 - MS-SQL Server / 应用实例
在一个SQL SERVER 2005的数据库DANJU内有三个表:
Containers(集装箱报检单),Guangdong(广东发票),Shenzhen(深圳发票)。
三个表之间没有联系,分别包含以下字段:
Containers:编号、报检单位、报检日期、进出口类型(进口、出口)。
Guangdong:编号、销货单位、开票日期、业务类型(本部、外来)。
Shenzhen:编号、销货单位、开票日期、业务类型(本部、外来)。
现在要出如下格式的报表(时间段),请问应该怎样写SQL?非常感谢!
还有合并列头的功能,这个我们用c#作,都要很麻烦
實際看不到你三個表的關系,如果照這樣看,關聯應該是 编号、报检单位、报检日期 這三個或者 报检单位、报检日期 這兩個,具體你可以看下是什麼關聯做調整紅色部分的條件,可以這樣寫
SElect A.报检日期,count(case when 进出口类型='进口' then 1 else 0 end),其它欄位也如此道理
from Containers A
Join Guangdong B On A.报检单位=B.销货单位 And A.报检日期=B.开票日期Join Shenzhen C On A.报检单位=C.销货单位 And A.报检日期=C.开票日期
Group by A.报检日期
这个应该是用T-SQL来实现吧?我自己这样写存储过程:
SQL code:
use danju
go
create procedure MonthlyReport
@date1 smalldatetime,
@date2 smalldatetime
as
begin
select
(select count(*) from containers where 进出口类型='进口'
相关问答:
如何在SQL2005中设定定时作业,比如说定时清理某些表的数据,
或者是定时的将某些表的数据导出excel!
在线等待,急急急,最好是详细步骤!
之前我做的作业有点问题!
帮UP
参考:http://hi.baidu.com/toiota ......
需求如下:
学院 academy(aid,aname)
班级 class(cid,cname,aid)
学生 stu(sid,sname,aid,cid)
住宿区 region(rid,rname)
宿舍楼 build(bid,rid,bnote) bnote是‘男’/‘女’
宿舍 dorm(did,rid,bid,bedn ......
表数据
COL1 COL2 COL2 COL4 COL5
----------------------------------------------------------------------------------------------
2010-05-05 00:00 ......
执行数据库操作时,直接用SQL 语句好一些 还是用存储过程更佳呢?
各抒起见
这个的具体问题具体分析
简单的select 、update和insert当然sql解决了
复杂的放在sql服务端应该好点
楼主请参阅
http://msdn.micr ......