sql IN 字符串查询 急

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了sql IN 字符串查询 急相关的知识,希望对你有一定的参考价值。

$sqlb = "select * from t1 WHERE id IN ('$name') order by id ";
$name字符串的值是3@4@5 我按上面的写法之后只输出一条记录,就是ID是3的那条记录 请问怎么写可以把3条记录都输出来。急 在线等。。
如果只有三条记录那我就直接写出来多好 好用数据库干什么 真是的。

如果真的只三条,你还不如直接写
select * from t1 WHERE id='3' or id='4' or id='5' order by id
我很想问的是,你id这个字段是什么类型?
或者你用like吧,但是like不一定准,
select * from t1 WHERE id like '% & $name & %'
in 一般是用在针对数组,而你的 $name 只是一个字符串,除非你先拆成数组。
以上仅供参考
参考技术A 是啊,增删改差一次只能干其中一哥

oracle sql语句的union效率问题【急】【急】【急】

请教大家一个问题:
oracle查询 有三个sql 查询出的字段是相同的。
sql1 用了10s ,sql2用了5s,sql3用了10s
我查询 sql1 union all sql2 union all sql3怎么就查询不出来呢?耗时很久了都死活不出数据。

前提跟大家说一下,查询表是大约有10万数据量,每个sql都有单独的统计逻辑。
语句太复杂:简单概括两种情况
select s1.vendorid, s1.dn,s1.node, SUM(clear_during) duration
from (
/*情况1*/ select his.vendorid,
his.node,
his.dn,
his.occur_time,
his.clr_time,
clear_during
from rt_data_al_00_ecpex his
where his.occur_time <=
to_date('2008-4-12 23:59:00','yyyy-mm-dd hh24:mi:ss')
and his.clr_time >
to_date('2008-4-12 23:59:00','yyyy-mm-dd hh24:mi:ss')
and vendorid=3
and network_type=15 and clr_by='system'
union all
/*情况2*/
--sql省略,跟第一种情况想象,因为补充问题有字数限制,所以不再粘贴
) s1

参考技术A 把语句贴出来,你不要group by的吗?是不是忘记了?如果有的话请先执行嵌套表S1,s1可以查询出来了再做聚合

select s1.vendorid, s1.dn,s1.node, SUM(clear_during) duration
from (
/*情况1*/ select his.vendorid,
his.node,
his.dn,
his.occur_time,
his.clr_time,
clear_during
from rt_data_al_00_ecpex his
where his.occur_time <=
to_date('2008-4-12 23:59:00','yyyy-mm-dd hh24:mi:ss')
and his.clr_time >
to_date('2008-4-12 23:59:00','yyyy-mm-dd hh24:mi:ss')
and vendorid=3
and network_type=15 and clr_by='system'
union all
/*情况2*/
--sql省略,跟第一种情况想象,因为补充问题有字数限制,所以不再粘贴
) s1
group by s1.vendorid, s1.dn,s1.node
参考技术B 也不太复杂,最好还是把全部的sql贴出来,想办法贴出来,这样更好分析效率。 参考技术C 请问 你不是说3个句子? 参考技术D 建临时表本回答被提问者采纳

以上是关于sql IN 字符串查询 急的主要内容,如果未能解决你的问题,请参考以下文章

急急急,Sql查询一个字段是不是存在某一个值,怎么写查询语句?

【急】sql 语句查询字段A 根据分隔符截取字符串 得到一个新的字段S,然后修改另一个字段B,把S赋值给B

sql子查询(急100分)

急!急!急!急!!!SQL里面的字符怎么用一条SQL语句将逗号后面的字符串得到?

PL/SQL 查询 IN 逗号分隔字符串

MySQL查询某个字段包含某个值--FIND_IN_SET