关于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 进出口类型='进口'
相关问答:
执行的顺序:
1)文件浏览框(选择文件使用)
选择好文件后
点击一个导入按钮的时候 ,把上面上传框里的csv文件以一个ID为文件名,上传到**/**文件夹下
2)读取这个文件夹下的csv的文件,转换成sql
3 ......
字段1,字段2.....字段N,Status,ParentID
1,Name1....test1,1,99
1,Name1....test1,3,99
1,Name2....test2,1,101
1,Name2....test2,3,101
1,Name3....test3,2,101
1,Name1....test1,4,101
想要的结果是:
1,Na ......
通过NAME字段条件查询一个数据表,假设我有100个姓名,有以下两个方法,
方法1:
把100个Name 组成一个SQL语句,比如 Select * from tmp_table where Name='张三' or Name ='李四' Or ...Or Name='第一百个姓名'
......
在Access的查询中执行下面的语句,无效,提示期待select ,updata ,...
CreateTble C=Answer N="回帖表"
(
C=ID T="INTEGER" P=No M=No N="编号" Z=false,
C=Ques ......