SELECT SID FROM STUDENT AS S
WHERE S.SID IN
(
SELECT SID FROM CLASS AS C C.CID = 'C3'
)
问题:
执行以上SQL文得到的结果集为空,
而
SELECT SID FROM CLASS AS C C.CID = 'C3'
有结果:1,2,3
或者
SELECT SID FROM STUDENT AS S
WHERE S.SID IN
(
'1','2','3'
)
可以得到我想要的结果集,但是这样不是我想要的SQL文!
问:我该如何使用in?
附:感谢各位大侠参与回答,谢谢
...全文
3511打赏收藏
PostgreSQL数据库中,怎么样使用in?
详细如下: 表student和class: student:sid class:cid,sid 表数据如下: student: s1 s2 s3 class: c1 1,2 c2 2,3 c3 1,2,3 SQL文如下: SELECT SID FROM STUDENT AS S WHERE S.SID IN ( SELECT SID FROM CLASS AS C C.CID = 'C3' ) 问题: 执行以上SQL文得到的结果集为空, 而SELECT SID FROM CLASS AS C C
函数:strpos(string, substring)
说明:Location of specified substring (same as position(substring in string), but note the reversed argument order) 指定字符串在目标字符串的位置
例子:strpos('high', 'ig') = 2
SELECT SID FROM STUDENT AS S inner join CLASS AS C
on strpos(c.sid,S.SID)>0
where C.CID = 'C3'