如果经济类型代码以1或2或3开头,那么返回对公客户信息表的CUST_NAME字段;否则返回NULL。用sql写出来
时间: 2024-04-10 14:35:09 浏览: 67
可以使用以下SQL语句实现你的要求:
```sql
SELECT
CASE
WHEN SUBSTR(经济类型代码, 1, 1) IN ('1', '2', '3') THEN 对公客户信息表.CUST_NAME
ELSE NULL
END AS Result
FROM 对公客户信息表;
```
请确保将"经济类型代码"和"对公客户信息表"替换为你实际使用的列名和表名。
相关问题
用Mysql数据库写一个(1)任务描述 “银行信贷管理系统”台帐管理模块的数据表字段名定义见表 2.2.1。请按以下设计完成数据库创建、数据表创建和数据操作任务: 表 2.2.1 字段名定义表 字段名 类型 备注 约束 borrow_id char(10) 借据号 主键 cust_id char(10) 客户编号 非空 Agency_name char(10) 客户经理 非空 pawn_goods_name varchar(60) 押物名称 无 pawn_goods_num int 押物数量 无 contract_date timestamp 签订日期 默认当前日期 表 2.2.2 数据表 borrow_id cust_id Agency_name pawn_goods_name pawn_goods_num contract_date c001 2023001 张阳 数码产品 10 2022-6-8 09:20:05 2023002 李红 生活用品 20 2022-3-5 05:20:05 c003 2023003 李静 数码产品 21 2022-2-6 11:45:05 c004 2023004 王雯 生活用品 32 2022-2-5 09:44:05 c005 2023005 杨晓文 生活用品 33 2022-6-15 09:11:05 1)创建数据库 BankCreditLoanDB; 2)根据表2.2.1,创建数据表T_impawn_info; 3)为表设置主键,主键为cust_id”; 4)签订日期列(contract_date)默认值为当前日期; 5)请修改李静的数据的芽物数量为28; 6)将T_impawn_info表中的所有的押物数量增加1; 7)查询签订日期为2022年2月份的信息; 8)请查询押物数量超过30的数据; 9)请查询押物数量最大的信息。
好的,我会根据你的要求给出相应的SQL语句,但是在执行这些语句前,请先确认你的数据库连接信息是否正确,以及是否有权限进行这些操作。
1.创建数据库 BankCreditLoanDB;
```
CREATE DATABASE BankCreditLoanDB;
```
2.根据表2.2.1,创建数据表T_impawn_info;
```
USE BankCreditLoanDB;
CREATE TABLE T_impawn_info (
borrow_id CHAR(10),
cust_id CHAR(10) NOT NULL,
Agency_name CHAR(10) NOT NULL,
pawn_goods_name VARCHAR(60),
pawn_goods_num INT,
contract_date TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
PRIMARY KEY (cust_id)
);
```
3.为表设置主键,主键为cust_id;
```
ALTER TABLE T_impawn_info
ADD PRIMARY KEY (cust_id);
```
4.签订日期列(contract_date)默认值为当前日期;
```
ALTER TABLE T_impawn_info
MODIFY COLUMN contract_date TIMESTAMP DEFAULT CURRENT_TIMESTAMP;
```
5.请修改李静的数据的押物数量为28;
```
UPDATE T_impawn_info
SET pawn_goods_num = 28
WHERE cust_id = '2023003';
```
6.将T_impawn_info表中的所有的押物数量增加1;
```
UPDATE T_impawn_info
SET pawn_goods_num = pawn_goods_num + 1;
```
7.查询签订日期为2022年2月份的信息;
```
SELECT *
FROM T_impawn_info
WHERE YEAR(contract_date) = 2022 AND MONTH(contract_date) = 2;
```
8.请查询押物数量超过30的数据;
```
SELECT *
FROM T_impawn_info
WHERE pawn_goods_num > 30;
```
9.请查询押物数量最大的信息。
```
SELECT *
FROM T_impawn_info
WHERE pawn_goods_num = (
SELECT MAX(pawn_goods_num)
FROM T_impawn_info
);
```
customer是客户表,这是表customer的建表语句:CREATE TABLE `customer` (`id` bigint(20) NOT NULL AUTO_INCREMENT,`cust_no` varchar(12) NOT NULL COMMENT '客户号码',`cust_name` varchar(255) DEFAULT NULL COMMENT '客户名称',`work_corp` varchar(255) DEFAULT NULL COMMENT '工作单位',`cert_no` varchar(18) DEFAULT NULL COMMENT '身份证号',`mobile_tel` varchar(16) DEFAULT NULL COMMENT '移动电话',`hl_in_hold` char(1) DEFAULT NULL COMMENT '是否持有基金',`trans_num_90d` int(255) DEFAULT NULL COMMENT '近90天线上渠道交易笔数',`trans_num_60d` int(255) DEFAULT NULL COMMENT '近60天线上渠道交易笔数',`jd_activity` varchar(8) DEFAULT NULL COMMENT '快捷_京东活跃度',`alipay_activity` varchar(8) DEFAULT NULL COMMENT '快捷_支付宝活跃度',`grd_cd` char(1) DEFAULT NULL COMMENT ‘性别,枚举类型, 1为男,0为女',PRIMARY KEY (`id`)) ENGINE=InnoDB AUTO_INCREMENT=12 DEFAULT CHARSET=utf8mb4; 现在需要提供一个sql,查男客户名称,移动电话
好的,下面是查询男客户名称和移动电话的 SQL 语句:
```
SELECT cust_name, mobile_tel FROM customer WHERE grd_cd = '1';
```
这个 SQL 语句会在 `customer` 表中查找 `grd_cd` 为 `1` 的记录,也就是男性客户,然后返回这些记录的 `cust_name` 和 `mobile_tel` 字段的值。
阅读全文