我有两个表,在这两个表中,Customer表的Credit_Limit应该确定每个客户的评级. 最后,输出应如下所示,其中Credit_Limit确定每个客户的评级:

cust_id credit_limit rating
400300 6000 Excellent
400801 750 Standard
401250 750 Standard

我最初考虑使用Join来组合这两个表,但后来意识到只将表作为别名列出可能会更好.

但是,我不太确定设置条件逻辑的语法或方法,其中"c.Credit&>0和c.Credit<=1000"设置为"卓越".

customer tables rating table

以下是我到目前为止所掌握的内容,但我认为if子句在这里不会有太大作用.我如何获得上面的输出?

SELECT c.cust_id, 
        c.credit_limit, 
        cred.rating
FROM customers AS c, credit_ratings AS cred
WHERE IF(c.credit_limit);

推荐答案

也许是这样的:

CREATE TABLE customer_ratings AS
SELECT
    c.id AS customer_id,
    c.credit_limit,
    r.rating
FROM
    customer c
JOIN
    ratings_ranges r
ON
    c.credit_limit BETWEEN r.low_limit AND r.high_limit;

Mysql相关问答推荐

完全相同的A B表达在SQL中的不同上下文中意外返回不同的结果

左联接重复问题

根据计数按月和年对数据进行分组()

如何在Sequelize中将查询作为选项?

Group_CONCAT CASE 乘法输出

时间戳上滚动窗口的 SQL 计数不同

使用索引进行查询优化

从 mysql RDS 导出数据以导入 questDb

为什么这个 NOT NULL 到 NULL 迁移会触发大量 I/O 操作?

MYSQL如何将虚拟列添加到现有表中

如何通过if语句对SQL查询进行排序

mysql从另一个表中 Select 不相等的值

如何在 SQL 中的一行中查找最小值和最大值?

sql sum - 处理连接表中的脏重复项

Spring Boot:Jdbc javax.net.ssl.SSLException:在接收对等方的 close_notify 之前关闭入站

MySQL 中的 VARCHAR(255) 和 TINYTEXT 字符串类型有什么区别?

SQLSTATE [42000]:语法错误或访问冲突:1055 SELECT 列表的表达式 #3 不在 GROUP BY 子句中并且包含非聚合

如何使用 XML_LOAD() 将 XML 文件导入 MySQL 数据库表;功能

使用 MySql,我可以对列进行排序但最后有 0 吗?

Python 是否支持 MySQL 准备好的语句?