把前四个字段用CONCAT函数连接,把连接后的字段昨晚第五个字段,怎么写SQL语句
时间:2011-05-23
来源:互联网
mysql> DESCRIBE 入库单表;
+------------+----------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+------------+----------+------+-----+---------+-------+
| 单号 | text | YES | | NULL | |
| 入库日期 | datetime | YES | | NULL | |
| 品名 | text | YES | | NULL | |
| 供货商编号 | text | YES | | NULL | |
| 颜色 | text | YES | | NULL | |
| 规格 | text | YES | | NULL | |
| 数量 | int(11) | YES | | NULL | |
| 单位 | text | YES | | NULL | |
| 单价 | double | YES | | NULL | |
| 金额 | double | YES | | NULL | |
+------------+----------+------+-----+---------+-------+
10 rows in set (0.01 sec)
mysql> DESCRIBE LSB;
+-------+-----------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+-------+-----------+------+-----+---------+-------+
| 品名 | text | YES | | NULL | |
| 颜色 | text | YES | | NULL | |
| 规格 | text | YES | | NULL | |
| 单位 | text | YES | | NULL | |
| C | char(255) | NO | PRI | | |
+-------+-----------+------+-----+---------+-------+
5 rows in set (0.01 sec)
帮忙写代码。
要求:
LSB 的前四个字段要这样产生: SELECT DISTINCT 品名,颜色,规格,单位 FROM 入库单表;
LSB 的第五个字段,要用 CONCAT 函数把 LSB 的前四个字段连接起来。连接后的结果作为第五个字段 C 的内容。
还有一个问题,在创建表的时候,如果 C 的类型是 TEXT,则 MySQL 提示 PRIMARY KEY(C) 有错误。怎么回事,好像只能用定长字符串。
+------------+----------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+------------+----------+------+-----+---------+-------+
| 单号 | text | YES | | NULL | |
| 入库日期 | datetime | YES | | NULL | |
| 品名 | text | YES | | NULL | |
| 供货商编号 | text | YES | | NULL | |
| 颜色 | text | YES | | NULL | |
| 规格 | text | YES | | NULL | |
| 数量 | int(11) | YES | | NULL | |
| 单位 | text | YES | | NULL | |
| 单价 | double | YES | | NULL | |
| 金额 | double | YES | | NULL | |
+------------+----------+------+-----+---------+-------+
10 rows in set (0.01 sec)
mysql> DESCRIBE LSB;
+-------+-----------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+-------+-----------+------+-----+---------+-------+
| 品名 | text | YES | | NULL | |
| 颜色 | text | YES | | NULL | |
| 规格 | text | YES | | NULL | |
| 单位 | text | YES | | NULL | |
| C | char(255) | NO | PRI | | |
+-------+-----------+------+-----+---------+-------+
5 rows in set (0.01 sec)
帮忙写代码。
要求:
LSB 的前四个字段要这样产生: SELECT DISTINCT 品名,颜色,规格,单位 FROM 入库单表;
LSB 的第五个字段,要用 CONCAT 函数把 LSB 的前四个字段连接起来。连接后的结果作为第五个字段 C 的内容。
还有一个问题,在创建表的时候,如果 C 的类型是 TEXT,则 MySQL 提示 PRIMARY KEY(C) 有错误。怎么回事,好像只能用定长字符串。
作者: xiaoyuanyuan2009 发布时间: 2011-05-23
select col1,col2,col3,col4,concat(col1,col2,col3,col4) as col5
from tb
from tb
作者: rucypli 发布时间: 2011-05-23
LSB 的第五个字段,要用 CONCAT 函数把 LSB 的前四个字段连接起来。连接后的结果作为第五个字段 C 的内容。
update tt set f5 =concat(col1,col2,col3,col4)
update tt set f5 =concat(col1,col2,col3,col4)
作者: wwwwb 发布时间: 2011-05-23
那就是text不能做主键。是不是lob类型不能做主键哦。
作者: jinfengyiye 发布时间: 2011-05-23
引用 3 楼 jinfengyiye 的回复:
那就是text不能做主键。是不是lob类型不能做主键哦。
那就是text不能做主键。是不是lob类型不能做主键哦。
应该 是的。
作者: jinfengyiye 发布时间: 2011-05-23
相关阅读 更多
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28