PostgreSQL数据库中,怎么样使用in?

不求苟同 2013-03-18 09:37:18
详细如下:

表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.CID = 'C3'

有结果:1,2,3
或者

SELECT SID FROM STUDENT AS S
WHERE S.SID IN
(
'1','2','3'
)

可以得到我想要的结果集,但是这样不是我想要的SQL文!
问:我该如何使用in?


附:感谢各位大侠参与回答,谢谢
...全文
351 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
WWWWA 2013-03-18
  • 打赏
  • 举报
回复
函数: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'

951

社区成员

发帖
与我相关
我的任务
社区描述
PostgreSQL相关内容讨论
sql数据库数据库架构 技术论坛(原bbs)
社区管理员
  • PostgreSQL社区
  • yang_z_1
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧