【发布时间】:2015-11-09 01:35:12
【问题描述】:
我需要一个 SQL 以比较的方式使用(随机化)表 A 上的值从表 B 中查找值。表 A 值以随机方式产生。表 B 的值已按累积分布函数排序。需要的是 SQL 会从表 B 中获取满足条件的第一行。
表 A: +----+-------+ |身份证 |价值 | +----+-------+ | 1 | 0.1234| | 2 | 0.8923| | 3 | 0.5221| +----+-------+ 表 B: +----+--------+------+ |身份证 |价值 |姓名 | +----+--------+------+ | 1 | 0.2000|阿尔法| | 2 | 0.5000|测试版 | | 3 | 0.7500|伽玛| | 4 | 1.0000|三角洲| +----+--------+------+ 结果应该是: +----+--------+------+ |身份证 |价值 |姓名 | +----+--------+------+ | 1 | 0.1234|阿尔法| | 2 | 0.8923|三角洲| | 3 | 0.5221|伽玛| +----+--------+------+值0.1234小于B的所有值,但Alpha值最小。
值 0.8923 小于 1.000 --> Delta。
值 0.5221 小于 0.7500 和 1.000 但 0.7500 是最小的 --> Gamma。
此查询仅在表 A 具有一个值时才有效:
选择值、名称 从乙 其中(从 A 中选择值)< 值;任何想法如何使用全表 A 完成这项工作?
【问题讨论】:
标签: mysql sql comparison-operators