sql查询求解
来源:百度知道 编辑:UC知道 时间:2024/06/24 00:27:32
tabA,tabB
a中2字段 id,user
b中2字段 id,name
大概数据如下
tabA
id user
1 1
2 4
3 7
4 1,7
5 1,2,6
现在的情况,当 A表user 为单个值时
select * from tabA where user in (select id from tabB where name like '%王%')
查询正常。
当时当A的user内包含 1,2,3 之类时。
就会出错, 提示将 1,2,3转为int 时 出错。
想请各位朋友帮忙, 我怎么才能实现 上述查询结果。
为了各位能明确理解这里,详细解释。
是一个新闻系统, A表 为新闻表, B为 编辑人员表。
新闻表中的user 字段 用来存放, 编辑人员表B中的ID。
现在需要模糊查询 某一个编辑所添加的新闻。
用了上面的sql 就是不行。 烦请各位帮忙。
a中2字段 id,user
b中2字段 id,name
大概数据如下
tabA
id user
1 1
2 4
3 7
4 1,7
5 1,2,6
现在的情况,当 A表user 为单个值时
select * from tabA where user in (select id from tabB where name like '%王%')
查询正常。
当时当A的user内包含 1,2,3 之类时。
就会出错, 提示将 1,2,3转为int 时 出错。
想请各位朋友帮忙, 我怎么才能实现 上述查询结果。
为了各位能明确理解这里,详细解释。
是一个新闻系统, A表 为新闻表, B为 编辑人员表。
新闻表中的user 字段 用来存放, 编辑人员表B中的ID。
现在需要模糊查询 某一个编辑所添加的新闻。
用了上面的sql 就是不行。 烦请各位帮忙。
SELECT MAX(时间) FROM 表
GROUP BY 客户
ORDER BY 客户 时间 DESC
呵呵,这道题需要用到自定义函数
需要用函数拼合数据,单纯的Like和in解决不了问题
---
主要看你要什么结果,才好定义这个函数的功能
---
to jy02139326,项目需要有时候范式需要违背,不一定要完全遵循范式。
数据库的设计连第一范式都不符合,又怎么能用关系数据库的查询查出来呢??
最好把A表写成
id user
1 1
2 4
3 7
4 1
4 7
5 1
5 2
5 6
这样的话符合第一范式就好办了,如果ID为PK 可以再写一个FK表.
select * from tabA where to_char(user) in (select id from tabB where name like '%王%')
范式用来做什么?
把tabB表中的ID换成varchar类型就可以了。