⑴ 用sql语句解决:统计科目余额表中“科目编码”长度为3且“方向”为借的“余额”和。谢谢!
select 科目编码,sum(余额)
from 统计科目余额表
where len(科目编码)=3 and 方向='借'
group by 科目编码
⑵ sql server 2000余额表示哪个文件
跟踪一下sql 语句。比如你查余额表,在查询之前先打开跟踪,查询之后关闭跟踪,然后查看根据到的sql语句,判断余额表是哪个表
⑶ 在SQL server 里编程实现:根据凭证表和科目信息表得到科目余额表
innodb_flush_log_at_trx_commit = 1 #每次commit 日志缓存中的数据刷到磁盘中
innodb_log_buffer_size = 8M #事物日志缓存
innodb_log_file_size = 500M #事物日志大小
⑷ 检验科目余额表中借方发生额和贷方发生额是否平衡,显示出所有借贷不平衡的记录。用SQL语句怎么写
select 单据号,sum(借方发生额),sum(贷方发生额) from 表名 group by 单据号 having sum(借方发生额)<>sum(贷方发生额)
⑸ 如何用SQL查找用友U8当日现金及银行账户余额
数据库中没有直接存储余额的表,需要用到CN_ACCTINFO出纳账户表取其中的期初数,还有CN_ACCTBOOK出纳日记账表取其中查询日期之前的所有借贷方金额。
declare @id varchar(20) --定义id为日记账账户编码
declare @date date --定义date为日期
set @id='008'
set @date='2019-06-06'
select SUM(Debit)-SUM(credit)+(select prebalance from cn_acctinfo where csAcctNum=@id) from CN_AcctBook where acctdate<=@date and AcctID=(select id from cn_acctinfo where csAcctNum=@id)
⑹ sql问题.求2月1日至2月10存款日均余额
CREATE TABLE [交易明细表] (
[姓名] VARCHAR(10),
[交易收方] INT,
[交易支方] INT,
[交易日期] DATETIME
);
go
INSERT INTO [交易明细表]
SELECT '张三', 200, NULL, '2011-02-05' UNION ALL
SELECT '张三', NULL, 100, '2011-02-10' UNION ALL
SELECT '张三', NULL, 300, '2011-02-12'
GO
WITH
dateCTE
AS(
SELECT
DATEADD(dd, number, '2011-02-01' ) AS myDate
FROM
master..spt_values
WHERE
type='P'
AND DATEADD(dd, number, '2011-02-01' ) <= '2011-02-10'
)
SELECT
Convert(VARCHAR(10), dateCTE.myDate, 111) AS 日期,
ISNULL(SUM([交易收方]), 0)
- ISNULL(SUM([交易支方]), 0) AS [余额]
FROM
dateCTE LEFT JOIN [交易明细表]
ON (dateCTE.myDate >= [交易明细表].[交易日期])
GROUP BY
dateCTE.myDate;
go
日期 余额
---------- -----------
2011/02/01 0
2011/02/02 0
2011/02/03 0
2011/02/04 0
2011/02/05 200
2011/02/06 200
2011/02/07 200
2011/02/08 200
2011/02/09 200
2011/02/10 100
能计算出了每日余额,日均的应该没有什么问题了吧?
WITH
dateCTE
AS(
SELECT
DATEADD(dd, number, '2011-02-01' ) AS myDate
FROM
master..spt_values
WHERE
type='P'
AND DATEADD(dd, number, '2011-02-01' ) <= '2011-02-10'
),
everyDateCTE
AS(
SELECT
Convert(VARCHAR(10), dateCTE.myDate, 111) AS 日期,
ISNULL(SUM([交易收方]), 0)
- ISNULL(SUM([交易支方]), 0) AS [余额]
FROM
dateCTE LEFT JOIN [交易明细表]
ON (dateCTE.myDate >= [交易明细表].[交易日期])
GROUP BY
dateCTE.myDate
)
SELECT
AVG ([余额]) AS [日均余额]
FROM
everyDateCTE
GO
日均余额
-----------
110
不知道上面的计算结果,对是不对?
仅仅为了演示,表里面也只有1个用户的数据,所以那个 姓名 的条件,就不加了。
⑺ SQL触发器。当我一个数据库中的一个表更新一个信息,另个表插入一个条信息怎么写
假设有两张表,一张为操作记录表tbA(MyID,MyX,MyY),一张为账户余额表tbB(MyID,MySum)
MyID:int类型
MyX:money类型
MyY:int类型(-1取钱,1存钱)
MySum:money类型
我想在我记录存入多少钱的同时,在余额表里的MySum里的数据也更着改变,而我们也不需要对余额有任何操作
示例代码如下:
create trigger MyMoneyTrg
on tbA
for insert,update
as
declare @ID int,
@X money,
@Y int
begin
select @ID=MyID,@X=MyX,@Y=MyY from inserted
--这里从inserted表里取到了更新的必要数据,inserted表是更新的数据暂时存放的表,触发器执行结束这个表就消失了
update tbB set MySum=(@X*@Y+Mysum) where MyID=@ID
end
这个范例能在触发器的作用\方法\语法等方面描述触发器,希望这位同学能举一反三
⑻ sql 科目余额表
--递归
_func(in_序号NUMBER)RETURNNUMBERIS
v_sumNUMBER;
v_借方金额NUMBER;
v_贷方金额NUMBER;
BEGIN
SELECT借方金额,贷方金额INTOv_借方金额,v_贷方金额FROMtable_name;
IFin_序号<=1THEN
v_sum:=期初金额;
ELSE
v_sum:=recursion_func(in_序号-1)+v_借方金额-v_贷方金额;
ENDIF;
RETURNv_sum;
END;
--将上边执行了,再执行下面的,自己修改一下
SELECT序号,借方金额,方向,贷方金额,recursion_func(序号)FROMtable_name
⑼ SQL语句,根据存款明细更新账户余额
运行前做好账户信息表的备份
看字段类型应该像是oracle,就按oracle的写法给你写了
updatet_accountaseta.balance=(selectb.trans_amountfrom
(selectaccount_no,sum(trans_amount)trans_amountfromt_depositorgroupbyaccount_no)b
wherea.account_no=b.account_no)anda.account_noin(selectaccount_nofromt_depositor)
如果你数据量特别大的话,可能执行效率不会高
⑽ 求科目余额表SQL代码(PL\SQL代码)写法 (oracle数据库)
第一部分select 明细数据,第二部分select '合计' sum求合计,用union将结果合并。
UNION:SQL运算符
数据库 Translate-SQL 中 的运算符,将两个或更多查询的结果组合为单个结果集,该结果集包含联合查询中的所有查询的全部行。这与使用联接组合两个表中的列不同。使用 UNION 组合两个查询的结果集的两个基本规则是:
1 、 所有查询中的列数和列的顺序必须相同。 2 、 数据类型必须兼容。