当前位置:首页 » 编程语言 » sql查找多个字段

sql查找多个字段

发布时间: 2022-09-23 23:10:27

1. sql语句 如何查找一张表里多个字段符合条件的内容

两个方法。这是按照你的题意是这么的,但是应该死查不出来东西的,因为A=a1 和A=a2怎么会同时满足,除非a1=a2,我觉得可能你题目看错了,不是同时满足,而是满足条件1或条件2,这样才会有记录被查出来
1. select * from tab where ((A=a1 and B=b1)and(A=a2 and C=c1));
2.select * from tab where A=a1 and B=b1
intersect select * from tab where A=a2 and C=c1

2. SQL语句中怎样同时查询一个表中的两个字段

select 字段1,字段2,...字段n from 表名(如果有条件的话)where age=12 and name=“小名”(如果想排序的话) order by desc(asc)(如果想限制查询条数的话)limit=10
希望对你有帮助!

3. SQL查询多个字段语句

String ser = request.getParameter("ser");
if(ser != null && ser.length() > 0){
ser="and serialno like '"+ser+"%' ";
}
String id = request.getParameter("id");
if(id != null && id.length() > 0){
id="and id like '"+id+"%' ";
}
String t1 = request.getParameter("t1");
if(t1 != null && t1.length() > 0){
t1="and dt > to_date('"+t1+"','yyyy-mm-dd hh24:mi:ss') ";
}
String t2 = request.getParameter("t2");
if(t2 != null && t2.length() > 0){
t2="and dt < to_date('"+t2+"','yyyy-mm-dd hh24:mi:ss') ";
}
String xw = request.getParameter("xw");
if(xw != null && xw.length() > 0){
xw="and type='"+xw+"'";
}
String sql="select * from lz.user_old where 1=1 "+ser+id+t1+t2+xw;
System.out.println(sql);
ResultSet rt=st.executeQuery(sql);

这个是类似的一段代码,你可以参照改写即可,通过第三方语言处理而组装sql语句即可实现你所要的结果。

4. SQL多表查询多个字段

SQL语句格式:

select 字段1,字段2,字段3

from 表1,表2,表3

where 条件

例子:查询s表中的sno字段, c表中的cno字段,j表中的jno字段

select sno,pno,jno

from s,p,j

(4)sql查找多个字段扩展阅读:

删除语句:DELETE * FROM table_name

查询语句:SELECT * FROM Persons WHERE ROWNUM <= 5

建立视图:CREATE VIEW view_name AS SELECT column_name(s) FROM table_name WHERE condition

5. sql查询,选中某个同时含有多个字符串的字段

你好,很高兴回答你的问题。
可以试试类似下面这样的sql,
select * from 表名 where 列名 like '%aa%' and 列名 like '%bb%' and 列名 like '%cc%'
如果有帮助到你,请点击采纳。

6. 怎么在sql中查找多个字段数据相同

可用group by……having来实现。
可做如下测试:
1、创建表插入数据:

1
2
3
4
5
6
7
8
9

create table test
(id int,
name varchar(10))

insert into test values (1,'张三')
insert into test values (2,'李四')
insert into test values (3,'张三')
insert into test values (4,'王五')
insert into test values (5,'赵六')

其中name是张三的有两行,也就是重复行。
2、执行sql语句如下:

1
2

select * from test where name in
(select name from test group by name having COUNT(*)>1)

结果如图:

7. 如何查询sql 表中的多个字段

select
*
from
表名
where
biaoboje 不等于
jinjiaje
or
jinjiaje
不等于
pijiaje
or
pijiaje
不等于
shoujiaje

不等于:sql
的不等号,即两个尖括号同时向中间开口,此处腾讯好像不能这样回答

8. SQL重复记录查询 查询多个字段、多表查询、删除重复记录的方法

SQL重复记录查询
1、查找表中多余的重复记录,重复记录是根据单个字段(peopleId)来判断
select
*
from
people
where
peopleId
in
(select
peopleId
from
people
group
by
peopleId
having
count(peopleId)
>
1)
例二:
select
*
from
testtable
where
numeber
in
(select
number
from
people
group
by
number
having
count(number)
>
1
)
可以查出testtable表中number相同的记录
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
having
count(*)
>
1)
4、删除表中多余的重复记录(多个字段),只留有rowid最小的记录
delete
from
vitae
a
where
(a.peopleId,a.seq)
in
(select
peopleId,seq
from
vitae
group
by
peopleId,seq
having
count(*)
>
1)
and
rowid
not
in
(select
min(rowid)
from
vitae
group
by
peopleId,seq
having
count(*)>1)
5、查找表中多余的重复记录(多个字段),不包含rowid最小的记录
select
*
from
vitae
a
where
(a.peopleId,a.seq)
in
(select
peopleId,seq
from
vitae
group
by
peopleId,seq
having
count(*)
>
1)
and
rowid
not
in
(select
min(rowid)
from
vitae
group
by
peopleId,seq
having
count(*)>1)
(二)
比方说
在A表中存在一个字段“name”,
而且不同记录之间的“name”值有可能会相同,
现在就是需要查询出在该表中的各记录之间,“name”值存在重复的项;
Select
Name,Count(*)
From
A
Group
By
Name
Having
Count(*)
>
1
如果还查性别也相同大则如下:
Select
Name,sex,Count(*)
From
A
Group
By
Name,sex
Having
Count(*)
>
1
(三)
方法一
declare
@max
integer,@id
integer
declare
cur_rows
cursor
local
for
select
主字段,count(*)
from
表名
group
by
主字段
having
count(*)
>;
1
open
cur_rows
fetch
cur_rows
into
@id,@max
while
@@fetch_status=0
begin
select
@max
=
@max
-1
set
rowcount
@max
delete
from
表名
where
主字段
=
@id
fetch
cur_rows
into
@id,@max
end
close
cur_rows
set
rowcount
0
方法二
有两个意义上的重复记录,一是完全重复的记录,也即所有字段均重复的记录,二是部分关键字段重复的记录,比如Name字段重复,而其他字段不一定重复或都重复可以忽略。
1、对于第一种重复,比较容易解决,使用
select
distinct
*
from
tableName
就可以得到无重复记录的结果集。
如果该表需要删除重复的记录(重复记录保留1条),可以按以下方法删除
select
distinct
*
into
#Tmp
from
tableName
drop
table
tableName
select
*
into
tableName
from
#Tmp
drop
table
#Tmp
发生这种重复的原因是表设计不周产生的,增加唯一索引列即可解决。
2、这类重复问题通常要求保留重复记录中的第一条记录,操作方法如下
假设有重复的字段为Name,Address,要求得到这两个字段唯一的结果集
select
identity(int,1,1)
as
autoID,
*
into
#Tmp
from
tableName
select
min(autoID)
as
autoID
into
#Tmp2
from
#Tmp
group
by
Name,autoID
select
*
from
#Tmp
where
autoID
in(select
autoID
from
#tmp2)
最后一个select即得到了Name,Address不重复的结果集(但多了一个autoID字段,实际写时可以写在select子句中省去此列)
(四)
查询重复
select
*
from
tablename
where
id
in
(
select
id
from
tablename
group
by
id
having
count(id)
>
1
)
以上就是小编为大家带来的SQL重复记录查询
查询多个字段、多表查询、删除重复记录的方法的全部内容了,希望对大家有所帮助,多多支持脚本之家~

9. 怎么在sql中查找多个字段数据相同

做了一个简单的例子:
select
c1,
wmsys.wm_concat(c2)
from
(select
1
as
c1,
2
c2
from
al
union
all
select
1,
3
c2
from
al)
group
by
c1
那你的问题可以这样:
select
id,序列号,名称,位置,wmsys.wm_concat(端口)
from

group
by
id,序列号,名称,位置
这样就可以了,wmsys.wm_concat这个是类似字符串聚合函数的东东,一个缺点是重复记录不能太多.不然这个东西会放不下.(好像是varchar2(4000)的长度以内,这个东西也可以自己重写的,就没有这方面的限制了)
如果你的版本不支持的话,可以再聊,或者找下相关资料也可以.
希望对你有所帮助,祝你好运~~

热点内容
php定时脚本 发布:2024-05-02 22:18:41 浏览:312
云服务可以替代普通服务器么 发布:2024-05-02 21:57:11 浏览:944
wegame与服务器断开连接是怎么回事 发布:2024-05-02 21:55:05 浏览:785
zip加密破解 发布:2024-05-02 21:41:23 浏览:480
怎么模拟电脑配置 发布:2024-05-02 21:28:08 浏览:784
对一个新编程 发布:2024-05-02 21:20:07 浏览:559
华为系统编译器在哪里 发布:2024-05-02 21:19:50 浏览:86
ebsco数据库检索 发布:2024-05-02 21:18:51 浏览:82
python递归创建目录 发布:2024-05-02 21:02:38 浏览:280
数据库分离与附加 发布:2024-05-02 20:56:59 浏览:40