SQL 语句 将一个表中用特殊字符分割的字段转换成多行数据 30

指定一条数据在查询的时候分割nameid的值并且作为查询另一张表里name的条件,比如:qq=123这条数据的nameid分割为1,2,查出另一张表里的name为2,3,... 指定一条数据 在查询的时候分割nameid的值并且作为查询另一张表里name的条件,比如:qq=123这条数据的nameid分割为1,2,查出另一张表里的name为2,3,显示结果为23 数据库是postgrepsql 展开
 我来答
网海1书生
科技发烧友

2019-05-28 · 擅长软件设计、WEB应用开发、小程序
网海1书生
采纳数:12311 获赞数:26228

向TA提问 私信TA
展开全部
不知道你是什么数据库,如果是Mysql,可以这样(假定含有qq字段的表为t1,另一张表为t2):
select `name` from `t2` where find_in_set(`id`, (select `nameid` from `t1` where `qq`=123));
如果是SQLServer,则这样:
select [name] from [t2] where charindex(','+[id]+',',','+(select [nameid] from [t1] where [qq]=123)+',')>0;
如果是ACCESS,则这样:
select [name] from [t2] where instr(',' & (select [nameid] from [t1] where [qq]=123) & ',',',' & [id] & ',')>0;
追问
数据库是postgre
追答
这个我还真没用过,没法帮你了,88
戏厚0Ic829
2019-05-29 · TA获得超过6210个赞
知道大有可为答主
回答量:2418
采纳率:71%
帮助的人:1052万
展开全部
不明白你的条件的意思,为什么123+1,2条件结果是输出23?
那么换个qq和nameid的话结果又是什么呢?
你先解释清楚这个转换的机制我才好回答你
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式