用SQL查询分析器操作Excel
http://hi.baidu.com/bilbit/blog/item/adf7a33427af52bed0a2d38e.html
SQL SERVER 和EXCEL的数据导入导出
1、在SQL SERVER里查询Excel数据:
-- ======================================================
SELECT *
from OpenDataSource( 'Microsoft.Jet.OLEDB.4.0',
'Data Source="c:\book1.xls";User ID=Admin;Password=;Extended properties=Excel 5.0')...[Sheet1$]
下面是个查询的示例,它通过用于 Jet 的 OLE DB 提供程序查询 Excel 电子表格。
SELECT *
from OpenDataSource ( 'Microsoft.Jet.OLEDB.4.0',
'Data Source="c:\Finance\account.xls";User ID=Admin;Password=;Extended properties=Excel 5.0')...xactions
-------------------------------------------------------------------------------------------------
2、将Excel的数据导入SQL server :
-- ======================================================
SELECT * into newtable
from OpenDataSource( 'Microsoft.Jet.OLEDB.4.0',
'Data Source="c:\book1.xls";User ID=Admin;Password=;Extended properties=Excel 5.0')...[Sheet1$]
实例:
SEL ......
SQL查询重复记录
http://m.cnblogs.com/15628/1534873.html
1、查找表中多余的重复记录,重复记录是根据单个字段(peopleId)来判断
[图片]select * from people
[图片]where peopleId in (select peopleId from people group by peopleId having count(peopleId) > 1)
[图片]
[图片]2、删除表中多余的重复记录,重复记录是根据单个字段(peopleId)来判断,只留有rowid最小的记录
[图片]delete from people
[图片]where peopleId in (select peopleId from people group by peopleId having count(peopleId) > 1)
[图片]and rowid not in (select min(rowid) from people group by peopleId having count(peopleId )>1)
[图片]
[图片]3、查找表中多余的重复记录(多个字段)
[图片]select * from vitae a
[图片]where (a.peopleId,a.seq) in (select peopleId,seq from vitae group by peopleId,seq ......
SQL用select语句查询重复记录
http://hi.baidu.com/bilbit/blog/item/5ed5de16a6f6b412962b43eb.html
用select语句,查询重复记录
假设,表名为 T1 子段为 A,B,C
select count(*) ,A,B,C from T1
group by A,B,C having count(*) > 1
测试数据:
A100 B100 C100
A101 B101 C101
A102 B102 C102
A102 B102 C100
A102 ......
SQL用select语句查询重复记录
http://hi.baidu.com/bilbit/blog/item/5ed5de16a6f6b412962b43eb.html
用select语句,查询重复记录
假设,表名为 T1 子段为 A,B,C
select count(*) ,A,B,C from T1
group by A,B,C having count(*) > 1
测试数据:
A100 B100 C100
A101 B101 C101
A102 B102 C102
A102 B102 C100
A102 ......
从tablename 表中取出第 n 条到第 m 条的记录
SQL SERVER的写法
SELECT TOP m-n+1 *
from tablename
WHERE (id NOT IN
(SELECT TOP n-1 id from tablename))
你这是一个分页算法的,我提供的比较简单,网上还有很多不错的,如果你对这个不满意,再去网上找找 关键字 “分页算法”
ORACLE的话改一下语句就可以了
SELECT *
from tablename
WHERE (id NOT IN
(SELECT id from tablename where rownum<n )) and rownum< m-n+2
rownum 的用法需要注意的是rownum >1 时是查不到一条记录的,而rownum >0 或 rownum >=1 却总显示所有的记录;因为 rownum 是在查询到的结果集后加上去的,它总是从1开始
MYSQL的类似语法不清楚了,你查查关键字的语法参考这两条语句,应该也好写出来
-----------------------------------
另外这语句你需要将M N计算后填入,你不能直接作为变量使用。如果你想做成一个的存储过程;m,n作为变量输入,那就得提前完成计算再查询。 ......
今天在调试的过程中发现 在vb中拼SQL的时候发现"()" 作用很大
eg: table: T_TEST col : T_KB int ,S_CD int ,Z_SU int
dim gcstrT_1 ,gcstrT_3 as integer
gcstrT_1 = 1
gcstrT_3 = 3
strWhere = strWhere & "……"
strWhere = strWhere & "AND ((T_KB = " & gcstrT_1 &; ") " '注意点 AND 后面需要一个括号 "("
strWhere = strWhere & "OR "
strWhere = strWhere & " (T_KB = " & gcstrT_3 & " "
strWhere = strWhere & " AND S_CD IS NOT NULL "
strWhere = strWhere & " AND Z_SU > 0 )) " '注意点 AND 后面需要一个括号 ")"
AND 后面的条件是一个整体,所以加"()" ......
今天在调试的过程中发现 在vb中拼SQL的时候发现"()" 作用很大
eg: table: T_TEST col : T_KB int ,S_CD int ,Z_SU int
dim gcstrT_1 ,gcstrT_3 as integer
gcstrT_1 = 1
gcstrT_3 = 3
strWhere = strWhere & "……"
strWhere = strWhere & "AND ((T_KB = " & gcstrT_1 &; ") " '注意点 AND 后面需要一个括号 "("
strWhere = strWhere & "OR "
strWhere = strWhere & " (T_KB = " & gcstrT_3 & " "
strWhere = strWhere & " AND S_CD IS NOT NULL "
strWhere = strWhere & " AND Z_SU > 0 )) " '注意点 AND 后面需要一个括号 ")"
AND 后面的条件是一个整体,所以加"()" ......