my sql实验视图_关于MY SQL的视图,希望大家帮忙
关于MY SQL的视图,希望大家帮忙,在线等
首先,有两个表,一个是用户存钱的表,一个是用户消费(包括收入和支出)的两个表,例如,表结构大体如下:
用户存钱的表(cunqian):
id user_id volume time
1 0001 100 2007-06-11
2 0001 100 2007-06-15
3 0001 100 2007-06-18
用户消费的表(shouzhi):
id user_id volume time flag
1 0001 50 2007-06-18 0
2 0001 10 2007-06-18 1
3 0001 8 2007-06-18 1
业务逻辑如下:首先用户在存钱(cunqian)表存钱,然后就可以消费了;消费时在消费(shouzhi)表中记录消费情况,如果flag值是0,证明是花钱了;flag值是1,证明是收入了。
我在程序里控制:
SELECT SUM(VOLUME) FROM CUNQIAN WHERE USER_ID= '0001 ' 得到指定用户的总金额
SELECT SUM(VOLUME) FROM SHOUXIAO WHERE FLAG=1 AND USER_ID= '0001 ' 得到指定用户的总收入
SELECT SUM(XS_VOLUME) FROM SHOUXIAO WHERE FLAG=0 AND USER_ID= '0001 ' 得到指定用户的总支出(消费)
然后在程序计算用户当前的总余额。
需求:怎么在SQL里实现同样的功能,最好是用视图实现,存储亦可,不之道mysql5支不支持存储过程,只要不是像我这样在程序里控制就行。我的SQL垃圾,先多谢大家了。
------解决方案--------------------
第一种方法
CREATE PROCEDURE a @@SUM money OUTPUT
AS
SELECT @@SUM = SUM(VOLUME) FROM CUNQIAN WHERE USER_ID= '0001 '
GO
declare @b money
exec a @b output
select @b+@b
print convert(varchar(12),@b)
--------------
第二种方法
declare @c money
SELECT @c = SUM(VOLUME) FROM CUNQIAN WHERE USER_ID= '0001 '
select @b+@b
print convert(varchar(12),@c)
------解决方案--------------------
你自己不是已经写出来视图了?
CREATE VIEW yueV as
SELECT C1.SV+S1.SV-S2.sv FROM
(SELECT SUM(VOLUME) as SV FROM CUNQIAN WHERE USER_ID= '0001 ' ) as C1,
(SELECT SUM(VOLUME) as SV FROM SHOUXIAO WHERE FLAG=1 AND USER_ID= '0001 ') as S1,
(SELECT SUM(VOLUME) as SV FROM SHOUXIAO WHERE FLAG=0 AND USER_ID= '0001 ') as S2
好想是这个样子写的啦,基本语句是你写的,我组合了一下,没有经过测试.
原创文章,转载请注明: 转载自搞代码
微信 赏一包辣条吧~
支付宝 赏一听可乐吧~
my sql实验视图_关于MY SQL的视图,希望大家帮忙相关推荐
- java查看sql视图_数据库的查询与视图
第4章 数据库的查询和视图 4.1.1 选择列 通过SELECT语句的项组成结果表的列. ::= SELECT [ ALL |DISTINCT ] [ TOP n [ PERCENT ] [ WITH ...
- sql server 视图_轻松搜索SQL Server –搜索目录视图
sql server 视图 The need to search through database schema for specific words or phrases is commonplac ...
- sql server 并发_并发问题– SQL Server中的理论和实验
sql server 并发 介绍 (Introduction) Intended audience 目标听众 This document is intended for application dev ...
- sql 删除依赖_关系数据库标准语言SQL(二)
声明:最近在准备考试,故整理数据库原理笔记. 视图 视图的创建和删除 CREATE VIEW <视图名 > [ <列名 > , --, <列名 >)] AS &l ...
- 刚装的系统没有sql server(mssqlserver)_数据库与SQL学习
本篇是数据分析系统学习专栏的第四篇文章--数据库与SQL学习.如果想要了解写作初衷,可以先行阅读如何系统学习数据分析. 数据库和SQL的基本概念 推荐阅读:怎么简单地理解数据库的概念? 核心概念: 数 ...
- sql server 加密_列级SQL Server加密概述
sql server 加密 This article gives an overview of column level SQL Server encryption using examples. 本 ...
- sql server 性能_如何在SQL Server中收集性能和系统信息
sql server 性能 介绍 (Introduction) In this article, we're going through many of the tools we can use fo ...
- sql server 锁定_关于锁定SQL Server的全部
sql server 锁定 .SQLCode { font-size: 13px; font-weight: bold; font-family: monospace;; white-space: p ...
- sql int 比较_高质量SQL的30条建议 建议你收藏
前言 本文将结合实例demo,阐述30条有关于优化SQL的建议,多数是实际开发中总结出来的,希望对大家有帮助. 查询SQL尽量不要使用select *,而是select具体字段. 反例子: selec ...
最新文章
- idea整合 spring boot jsp mybatis
- 【MM模块】 Goods Receipt 收货 3
- 男人必看,男性排毒同样重要 - 生活至上,美容至尚!
- arcgis的python接口_arcgis-Python的ArcGIS API-Esri Screenshots
- Appium遇到异常处理
- 个人总结之Volley的cookie处理
- win7开启远程桌面
- [4G5G专题-23]:架构-5G无线接入内部网元架构与空口协议功能切分
- [转载]使用 Apache Geronimo 和 JMS 构建事件驱动的框架
- 知道这些网站,能让你的工作效率提高2000%!
- 【C语言】输出百分号“%”
- 电大计算机专业毕业自我鉴定,广播电视大学毕业自我鉴定3篇
- IMDB影评数据集无法通过keras下载
- stm32自定义usb_HID设备
- Main.obj : error LNK2019: 无法解析的外部符号 _Direct3DCreate9@4,该符号在函数 long __cdecl InitD3D(struct HWND__ *)
- 大华海康摄像头人家自己是怎么在web上播放视频的
- QT实现一个视频播放器(vlc)
- chrome 禁止 http 自动跳转 https
- 即时函数(Immediate Functions)
- android的中的触感反馈