-
首先,确定表A和表B的主键,找到它们的关联,然后找到计算库存的方法。
例如:模型的库存 = 上一期余额 + 当期入库 - 当期出库。
然后你会发现你不能用这两个表做你需要的事情。
如果上一期间没有余额,则库存 = 当前期间入库 - 本期间出库。
然后根据这个方法,我们可以得到sql:
select sum(b.数量) -sum(a..)数量 ),一个物料编号,A名称,一个....型。
from a,b
where a.模型 = b模型和商品编号 = B物料编号。
group by a.物料编号,A名称,一个....型。
-
select
ga.入站总数,isnull( GB。出库总量,0 ) 为出库总量,ga入站总数,isnull( GB。出库总货件数,0)作为库存。
从选择模型中,SUM 作为 A 组的总入站数型号 ) ga
left join
选择“型号”、“总和(数量)”作为“B 组出库总数”(按 B 分组)型号 )国标
on (ga.型号 )国标型。
注意:上述 isnull 函数特定于 SQL Server。
如果是 oracle 或 DB2 数据库,请改用 nvl 函数。
如果是 MySQL 数据库,请改用 ifnull 函数。
-
select a.模型 , sum(a..)数量 - b数量)从 a,b 其中 a模型 = b模型组 按 A型。
-
有一个问题...... 最好的写在一楼。
-
对于这种 null,我通常使用这样的句子。
isnull(tag,'') <'品'
就是这样。
字符和数字都可以用于<>
-
您的问题 1 的客户信息 [个人客户信息,表结构与问题 1 相同] 尚未发送。
-
SQL 通配符可用于替换一个或多个字符,即模糊查询,即包含关系。
SQL 通配符必须与 LIKE 运算符结合使用。 在 SQL 中,可以使用以下通配符,如下所示:
1. % 而不是一个或多个字符。
2.仅替换一个字符。
3. [charlist] 字符列中的任何单个字符。
4. [ charlist ] 或 [!]charlist] 不是字符列中的任何单个字符。
以图中的**为例,说明每个通配符的用法。
1.询问在市内居住情况"ne"当初的城里人:
select * from persons where city like 'ne%'
2. 询问收容所内的生活情况"lond"城里人:
select * from persons where city like '%lond%'
3. 查询名称的第一个字符后跟"eorge"人:
select * from persons where firstname like '_eorge'
4.查询记录的姓氏"c"开始,然后是任意字符,然后"r",然后是任何字符,然后"er":
select * from persons where lastname like 'c_r_er'
5. 查看居住城市"a"或"l"或"n"开头的人:
select * from persons where city like '[aln]%'
6. 查看居住城市"a"或"l"或"n"开头的人:
select * from persons where city like '[!aln]%'
-
你不能这样做,表A没用,你要改的是表b的值,按数字分组排名,和A不相关。
表 B 没有唯一键,因此不能用作更新的基础。 记录必须具有唯一的(多键)区别。
下面给大家参考一下,多表更新,personid=你的数字,value=序数,更新b集
from b
left outer join
select row number()over(partition by personid order by personid) newvalue,personid,displayorder from) aon,两个条件确定表的唯一记录有自己的主键,然后将其更改为主键即可。
-
create database database-name
删除数据库。
drop database dbname
创建一个新表。 create table tabname(col1 type1 [not null] [primary key],col2 type2 [not null],.
删除新表。 drop table tabname
添加列。
alter table tabname add column col type
添加主键。 alter table tabname add primary key(col)
删除主键。 alter table tabname drop primary key(col)
创建索引。 create [unique] index idxname on tabname(col….)
删除索引。 drop index idxname
创建视图。 create view viewname as select statement
删除视图。 drop view viewname
-
select *
from table1
其中 id 不为 null -- 此条件可以保留为不需要的','+id+',' like '%,1,%'
-
这通常用于首先中断联接查询。 平时可以找一本电子书参考手册参考,找一个经典的样本数据库练习。
-
好吧,怎么说呢?
总结一下SQL语句,无非就是几种,关联查询,子查询,以及各种函数的使用。
根据要做的需求,首先分析需要使用哪些查询。
例如,您需要使用关联查询。
让我们首先列出要使用的表,例如 a、b 和 c。
先写出来就好了。
select from a,b,c
上一个查询的内容可以不写就收起来。
然后找到三个表关联,当然也要看是自然连接还是左连接,这里举个正常连接的例子。
select from a,b,c where and
写入关联后,可以写入查询的内容。
select ,,sum( from a,b,c where and
然后,你看,因为有一个聚合查询,你必须在它之后进行分组
从a,b,c中选择,,sum( where并按,other分组,顺序是什么,等等,写起来容易,这里就不写了。
子查询比较简单,主要是判断好,先写子查询,然后再出去,比如说。
select * from b where id in (select id from a)
为此,您必须先在括号中写一个,然后再写在外面。
至于函数的使用,这方面是没有经验的,就是有时候可能会出现类型转换等问题,所以要牢记每个函数的作用,不明白就问。
-
从单词列表扩展到主表。
-
建议初学者不要写那些非常复杂的连接查询 其实在实际使用中不会有太多复杂的查询,因为面向对象的思想是希望一个函数是独立的,耦合性低,可扩展性强,可以把一个复杂的查询分解成几个小查询,然后组合起来, 这种方法在实际使用中很常见,你只需要能写出三个表的联合查询,然后注意内联和外联的区别,这个区别也很好理解,大家可以看到我给别人的回复。