php mysql select 查询问题

select*fromdocumentswheredocument_srlin(selectdocument_srlfromdocument_extra_varswher... select * from documents where document_srl in (

select document_srl
from document_extra_vars where (
eid = 'recycling_type' and ( value
like '%11%' ))

and (eid = 'processing_method' and ( value like
'%22%' ))

and (eid = 'product_line' and ( value like '%33%' ))
)
数据库里明明有一条数据,但是这么查询的话一条数据都查询不了,为什么呢?
document_srl value eid
3395 11 recycling_type
3395 22 processing_method

3395 33 product_line

==================================
这是数据库表结构
展开
 我来答
ffggfly
2013-11-22 · TA获得超过353个赞
知道小有建树答主
回答量:663
采纳率:0%
帮助的人:374万
展开全部
select * from documents where document_srl in (

select document_srl
from document_extra_vars where (
eid = 'recycling_type' and ( value
like '%11%' ))

or (eid = 'processing_method' and ( value like
'%22%' ))

or (eid = 'product_line' and ( value like '%33%' ))
)
追问
我要的是满足所有条件的数据,用or的话不行。
mi188586163
2013-11-22 · TA获得超过117个赞
知道小有建树答主
回答量:299
采纳率:0%
帮助的人:175万
展开全部
select document_srl
from document_extra_vars where
(eid = 'recycling_type' and ( value like '%11%' ))
and (eid = 'processing_method' and ( value like '%22%' ))
and (eid = 'product_line' and ( value like '%33%' ))

你这里3个and , eid 不会同时等于3个值, 故where永远不会成立
追问
能详细点吗??怎么能解决呢?
追答
我要的是满足所有条件的数据,用or的话不行。

说下你要查的数据是什么吧
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
shenweishuai
2013-11-22 · 超过25用户采纳过TA的回答
知道答主
回答量:276
采纳率:0%
帮助的人:86.7万
展开全部
like 只能用一次,eid 不可以同时等于三个值

你要想做就分三步写
select * from documents where document_srl in (

select eid
,document_srl
from document_extra_vars where (
eid = 'recycling_type' and ( value
like '%11%' )))
把这个所得的结果再进行搜索

select * from documents where document_srl in (

select eid
,document_srl
from document_extra_vars where (and (eid = 'processing_method' and ( value like
'%22%' )))
把这个所得的结果再进行搜索
select * from documents where document_srl in (

select document_srl
from document_extra_vars where (
and (eid = 'product_line' and ( value like '%33%' ))
)

这就是你要的结果
你试试
更多追问追答
追问
怎么把这三步骤,串联起来呢??
追答
那就是一个很长的sql了
把第三个条件放到最外面

把第二个条件放到第三个条件中
把第一个条件入到第二个中

因为查询是第三个以第二个为基础
第二个以第一个为基础。。你试试写下!!!
不过分三步要比你一步到位执行的要快!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
tsotsi
2013-11-22 · TA获得超过940个赞
知道小有建树答主
回答量:1367
采纳率:55%
帮助的人:695万
展开全部
sql语句写错了 有几个地方and 应该换成or

按你这写的 没有满足条件的
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式