大佬们来帮帮忙!请教个 SQL 不知道咋写。。。

2020-12-09 16:33:28 +08:00
 dtgxx

CREATE TABLE num_t ( num varchar(255) DEFAULT NULL ) ENGINE=InnoDB DEFAULT CHARSET=utf8

CREATE TABLE range_t ( maxn varchar(255) DEFAULT NULL, minn varchar(255) DEFAULT NULL ) ENGINE=InnoDB DEFAULT CHARSET=utf8


格式变得有点难看。。见谅。。我想生成一张新表,表结构是这两个综合在一起的,数据要求就是 num 在 maxn 和 minn 的范围内。


select b.maxn,b.minn from (select num from num_t) a join (select maxn,minn from range_t) b on cast(a.num as signed)>=cast(b.minn as signed) and cast(a.num as signed)<=cast(b.maxn as signed);


我的这个 sql 执行结果是空,估计是因为 on 后面的不等值连接问题。。。大佬们有没有好的办法可以完成我想要的表?

771 次点击
所在节点    问与答
2 条回复
keepeye
2020-12-09 16:41:24 +08:00
没有外键?那只能根据 id 来呗,num_t t1 inner join range_t t2 on t1.id = t2.id where t1.num between t2.maxn and t2.minn
这样不知道是不是你要的
shijia
2020-12-09 16:53:55 +08:00
```sql
select * from num_t, range_t
where num_t.nm>=range_t.minn
and num_t.nm<=range_t.maxn
```
酱紫?

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/733809

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX