mysql语句怎么写(有两个表a和b,b包含a所有的字段,想将b的某一条记录插入a,多的忽略,sql语句怎么写)

mysql语句怎么写(有两个表a和b,b包含a所有的字段,想将b的某一条记录插入a,多的忽略,sql语句怎么写),第1张

SELECT INTO 语句

SELECT INTO 语句从一个表中选取数据,然后把数据插入另一个表中。

SELECT INTO 语句常用于创建表的备份复件或者用于对记录进行存档。

SQL SELECT INTO 语法

您可以把所有的列插入新表:

SELECT *

INTO new_table_name [IN externaldatabase]

FROM old_tablename

或者只把希望的列插入新表:

SELECT column_name(s)

INTO new_table_name [IN externaldatabase]

FROM old_tablename

所以应该这么写

SELECT b.列1,b.列2

INTO a

FROM b

WHERE id=1

---注:b表中插入a表中的列不能有a不包含的列,也就是说上面语句的b.列1,b.列2这些中不能有a中不包含的列

select

  goods_name 产品名字,

  max(price) 价格,

  max(case rank_name when 'VIP1' then (case when user_price is null then discount*price/100 else user_price end) end) vip1价格,

  max(case rank_name when 'VIP2' then (case when user_price is null then discount*price/100 else user_price end) end) vip2价格,

  max(case rank_name when 'VIP3' then (case when user_price is null then discount*price/100 else user_price end) end) vip3价格

from member_price mp

left join goods gd on gd.goods_id = mp.goods_id

left join user_rank ur on ur.rank_id = mp.rank_id

group by goods_name

mysql不是很熟悉,所以写了个标准sql语法的。我记得mysql中group by的select可以不用跟聚合函数的,所以LZ大概可以把max()去掉,而mysql中好像有isnull,ifnull的函数,我不太了解,这里用case语句替代了,LZ可以自行替换。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/8408228.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-16
下一篇 2023-04-16

发表评论

登录后才能评论

评论列表(0条)

保存