sql语句-sqlserver子查询的重用问题

问题描述

sqlserver子查询的重用问题

第四列我用了一个子查询并命名为ssum,并且想用于两列的相减计算,然后发现直接写ssum并不合乎语法,想计算必须重写一遍这个子查询。想问一下,这种情况必须再写一遍子查询么,有没有什么重用的方法?

 select m.id,m.name,m.quantity,(select sum(c.quantity) from ctable as c where mid =m.id) as ssum,(m.quantity-(select sum(c.quantity) from ctable as c where mid =m.id)) as jian
from mtable as m

解决方案

将子查询放入临时表

解决方案二:

直接用不了,可以放到一张临时表中

时间: 2024-08-31 10:27:39

sql语句-sqlserver子查询的重用问题的相关文章

常用SQL语句(嵌套子查询/随机等等)详细整理_MsSql

1.SQL 插入语句得到自动生成的递增ID值 复制代码 代码如下: insert into Table1(Name,des,num) values ('ltp','thisisbest',10); select @@identity as 'Id' 2.实现是1 或0 想显示为男或女 复制代码 代码如下: select name,Sex=(case Sex when '1' then '男' when '0' then '女' end) from Tablename 3.嵌套子查询 复制代码 代

常用SQL语句(嵌套子查询/随机等等)详细整理

1.SQL 插入语句得到自动生成的递增ID值 复制代码 代码如下: insert into Table1(Name,des,num) values ('ltp','thisisbest',10); select @@identity as 'Id' 2.实现是1 或0 想显示为男或女 复制代码 代码如下: select name,Sex=(case Sex when '1' then '男' when '0' then '女' end) from Tablename 3.嵌套子查询 复制代码 代

SQL多表链接查询、嵌入SELECT语句的子查询技术

高级查询技术主要是涉及多个表的链接查询技术.嵌入SELECT语句的子查询技术,把多个查询联合起来的联合技术等. 1. 连接查询 需要同时从两个或者连个以上的表中检索数据.链接就是允许同时从两个表或者两个以上的表中检索数据,指定这些表中的某个或者某些列作为连接条件.在SQL Server中,可以使用两种连接语法的形式,一种是ANSI链接语法形式,这是连接条件出现在FROM子句中;另外一种SQL Server链接语法形式,这是连接条件出现在WHERE条件中. 1. ANSI链接 链接错做可以同时查询

数据-怎样用sql语句,使查询速度更快

问题描述 怎样用sql语句,使查询速度更快 在使用数据库的过程中,经常会有10W条甚至100W条级以上的数据记录,使用常规的sql语句在这种级别的数据库中查询,反馈的速度非常慢,时有几分钟才能得到查询反馈的数据结果:本人曾经看过一个sql语句,能在100W级的数据记录中,只用几秒的时间就得到查询结果,但是现在却不曾记得那条语句是如何写的了,不知哪位大神有类似或者这种技能,能否指点小弟一下 解决方案 1.建立索引 2.优化SQL语句 3.条件精确,使用索引 4.最好使用内部过程 5.只取需要的数据

SQL编程之子查询及注意事项

当一个查询是另一个查询的条件时,称之为子查询.子查 询可以使用几个简单命令构造功能强大的复合命令.子查询最常用于SELECT-SQL命令的 WHERE子句中.子查询是一个 SELECT 语句,它嵌套在一个 SELECT.SELECT...INTO 语句.INSERT...INTO 语句.DELETE 语句.或 UPDATE 语句或嵌套在另一子查询中. 语法:select ....from 表1 where 列1 > (子查询) 外面的查询成为父查询,圆括号嵌入的查询成为称为子查询.SQL Ser

sql语句多表查询中聚合函数的使用问题

问题描述 sql语句多表查询中聚合函数的使用问题 表A,B,C. A表中有title,code, b表中为code,media_code;(均不为主键,code会有重复) c表中有media_code,shrink (media_code为主键) 我的目的为取出A表中的title和c表中的shrink 联立:A.code→B.code, B.media_code→C.media_code 代码如下 select title,shrink from tableA,tableC where medi

报表制作sql语句,模糊查询

问题描述 报表制作sql语句,模糊查询 select [BinnId][Code][BoxCode][SCode][CreateName][CreateTime] from dbo.Logistics_Binn where len(SCode)-len(replace(SCode''''))!=8 ${if(len(p1)==0"and SCode collate Chinese_PRC_CS_AS like '%""+p1+""%' or BoxCode

sql server-求一条sql语句 sqlserver数据库

问题描述 求一条sql语句 sqlserver数据库 刷卡表,有ID,刷卡时间.时间等并和用户表形成多对一关系,使用的是sqlserver. 我要取得是"昨天,每个用户的最大刷卡时间和最小刷卡时间的刷卡数据". 我的SQL不是很好,昨天.最大刷卡时间和最小都能搞出来,但是加个每个用户就乱了: 因为每个用户都可能会有多条刷卡数据. ...求解 解决方案 select b.username, max(刷卡时间) 最大刷卡时间, min(刷卡时间) 最小刷卡时间 from 刷卡表 a inn

hql-hibernate框架 使用sql语句 select count查询不到。。

问题描述 hibernate框架 使用sql语句 select count查询不到.. 代码 String sql = "select count(servId) from "+set; sess=sessionFactory.openSession(); tx=sess.beginTransaction(); Query query = sess.createSQLQuery(sql); BigDecimal count = (BigDecimal)query.uniqueResul