扫二维码与项目经理沟通
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流
根据你的需求描述说明的三张商品详细信息表(食品,图书,手机)的主键ID是肯定不会不重复的。那你可以先将三张表内容合并起来,可以并成视图也可以直接临时表,然后在关联你的语句,例如:
公司主营业务:网站建设、网站制作、移动网站开发等业务。帮助企业客户真正实现互联网宣传,提高企业的竞争能力。创新互联是一支青春激扬、勤奋敬业、活力青春激扬、勤奋敬业、活力澎湃、和谐高效的团队。公司秉承以“开放、自由、严谨、自律”为核心的企业文化,感谢他们对我们的高要求,感谢他们从不同领域给我们带来的挑战,让我们激情的团队有机会用头脑与智慧不断的给客户带来惊喜。创新互联推出电白免费做网站回馈大家。
--当成一个表来使用
select *
frm (select ID,字段A,字段B from 食品表
union select ID,字段A,字段B from 图书表
union select ID,字段A,字段B from 手机表)a;
或者
--直接建成一个视图
create view 视图名称--表名一样
as
select ID,字段A,字段B from 食品表
union select ID,字段A,字段B from 图书表
union select ID,字段A,字段B from 手机表;
sqlserver里面打开表,或者编辑前200行,
然后再去复制那一条数据,则粘贴到excel,中文括号会带换行符(中文字符的原因)。
解决方法:
先查询出来以后,在结果里面复制,再粘贴就没问题了。
要求的是金额,即单价乘以销售数量的总和,所以要使用sum函数(要求好像是按金额排序的):
select t.typeid, t.typename, sum(g.price * o.salecounts) as amount
from goods g, goodstype t, orders o
where g.goodsid = o.goodsid and g.typeid = t.typeid
group by t.typeid, t.typename
order by amount
select hw_name as 商品名称,hw_price as 商品单价,sum(hw_price) as 销售数量,sum(hw_price*cast(basket_count as int)) as 价格总计
from venshop_basket group by hw_name,hw_price
很是好奇,你数量字段为啥要用nvarchar,而不用整型
在C1输入公式=text(round(A1/b1,4),"0.00%"),回车即可得出C1的结果。C2、C3步骤与之相同。
这里text函数用来将括号内的值转换为%形式;round函数用来四舍五入商的值。
你where中如果用了子查询,你想如果你的子查询有多个值,那么当处理一条数据时,数据库怎么判断当前的字段值与子查询的关系呢
如 select * from table_a a where afield1=(select field2 from table_b where b.ID=a.ID)
如果表table_b中有多个记录的ID与a表相同,那么获得的field2就可能有多个,每次数据库找到一个a表的记录,然后
判断 afield1 =?条件的时候,如果其中有一个field2相同,而其余不同,怎么判断条件是否成立呢?
因此为了准确判断,每次与a表相同的ID只能有一条记录,这样就可以判断afield1与field2是否相同。
上面语句就是查询a表的记录,满足与b表的ID相同,同时afield1=b.field2,这只是一个例子,可以通过直接关联实现,其实也建议尽量不要子查询,那样速度会慢很多,只要能用直接字段关联查询的就不要用子查询。
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流