A. sql 怎么根据自定义字段查询
不定的? 感觉你现在想解决的这是个大问题中的一部分,但是你把这部分拆分的有点偏。
主要问题可能不是要解决成这样的。
你可以写动态sql
列名称,可以根据系统的表查询。 拼接sql
B. sql如何根据一个字段的多个值查询
具体方法如下:
假定雀伏表名test,列id是数值类型。
用同一个字段的多个值作为条件来查询可以使用in或者or。
具体数岁衫语句如下:
1、select * from test where id in (1,2,3)
2、select * from test where id = 1 or id =2 or id = 3
显然第一种方法更简便。
PS: 如果如你消息所说,有一个薯腔选课表test,学生号id,所选课程名name,那么,检索同时选择了美术、体育、音乐三门课程的学生id的语法如下:
select a.id from test a,test b,test c
where a.id = b.id and b.i
d = c.id and a.name = '美术' and b.name = '体育' and c.name = '音乐';
问题的关键,在于test表通过别名做三次关联查询。
C. sql server中一个字段为datetime类型,如何根据这个字段筛选出某天12-15点的数据
增加一败誉个条件:
hour(datetime字段名) >=12 and hour(datetime字念枯兆仔租段名) <15
D. SQL 中如何根据只根据第一个字段分组
使用分析函数row_number() over (partiion by ... order by ...)来进行分组编号,然后取分组标号值为1的记录即可。目前主流的数据库都有支持分析函数,很好用。
其中,partition by 是指定按哪些字段进行分组,这些字段值相同的记录将在一起编号;order by则是指定在同一组中进行编号时是按照怎样的顺序。
示例(SQL Server 2005或以上适用):
123456
select s.* from ( select *, row_number() over (partition by [手机号] order by [店铺]) as group_idx from table_name) swhere s.group_idx = 1
E. 如何用sql语句来筛选出想要的字段,如下图所示,请各位高手帮忙!!
select 表2,*
from 表2 as t1,
(select 档案号,次数 from 表1 where 标志='I') as t2
where t1.档案号=t2.档案号
and t1.次数=t2.次数
F. 怎么用sql比较2个表中1个相似字段,将不同的值挑出来
select col from t1
minus
select col from t2
G. sql 查询中,要筛选出某个字段的部分字符,该如何操作 例如表a,有个字段是size.
如果都是 数字mmX数字mm的话 那就可以,这有规律,第一个数字在mm之前,第二个数字在x和mm之间你现在就是要获取 第一个mm和X还有mm的三个位置就好了
然后就可以获取到你想要的数字
dim index1 as integer'第一个mm的位置
dim index2 as integer''第二个mm的位置
dim index3 as integer''x的位置
dim long as integer
dim width as integer
dim size as string
size="100mmx150mm"
index1 = InStr(1, size, "mm")
long=rigt(size,index1)
index3=instr(1,size,"x")
index2=instr(1,right(size,len(size)-index3),"mm")
width=left(right(size,len(size)-index3),index2)