- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一家小企业,我制作了一个简单的 mysql 数据库,用于输入客户名称、日期时间、详细信息、发票、签名者、账单总额、本月迄今、年初至今、购买的零件、年初至今购买的零件。我想自动更新美元金额,这可能吗?例如:下个月至今为 1300.00 美元入场费为 100.00 美元,总计 1400.00 美元。任何帮助将不胜感激。
最佳答案
您需要以准确且高效的方式存储您的信息。然后使用查询来提取您要查找的本月至今和年初至今的信息。
让我们创建一个测试数据库和一些表。您可以根据需要添加列。
测试数据库
CREATE DATABASE stackoverflow;
USE stackoverflow;
为客户创建表格
这将存储您的所有客户
CREATE TABLE clients (
client_id INT NOT NULL PRIMARY KEY auto_increment,
client_name VARCHAR( 70 ) NOT NULL,
client_details TEXT
) engine = myisam DEFAULT charset=latin1;
创建零件表
这将存储您希望向客户开具发票的所有零件
CREATE TABLE parts (
part_id INT NOT NULL PRIMARY KEY auto_increment,
part_name VARCHAR( 70 ) NOT NULL,
part_cost NUMERIC( 15,2 ),
description TEXT
) engine = myisam DEFAULT charset=latin1;
创建发票表
这将存储创建的每张发票。请注意,这里没有美元值(value)或零件。这样做将减少相同信息必须存储的次数。
Database normalization is the process of organizing the attributes and tables of a relational database to minimize data redundancy. Wikipedia
CREATE TABLE invoices (
invoice_id INT NOT NULL PRIMARY KEY auto_increment,
client_id INT NOT NULL,
invoice_date TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
details TEXT,
signer VARCHAR ( 70 ) NOT NULL
) engine = myisam DEFAULT charset=latin1;
创建表以将零件连接到发票
现在,让我们创建一个表,将零件表与发票连接起来。在这里,我们可以添加每张发票的每个项目特有的注释和数量等信息。我们将使用查询中的数量来计算总计、MTD、YTD 等。
CREATE TABLE invoice_parts (
id INT NOT NULL PRIMARY KEY auto_increment,
part_id INT NOT NULL,
invoice_id INT NOT NULL,
quantity INT NOT NULL,
notes TEXT
) engine = myisam DEFAULT charset=latin1;
让我们添加一些测试信息
-- add some clients
INSERT INTO `clients` (`client_id`, `client_name`, `client_details`) VALUES (NULL, 'chad barker', 'some guy named chad'), (NULL, 'leon tester', 'some guy named leon');
-- add some parts
INSERT INTO `parts` (`part_id`, `part_name`, `part_cost`, `description`) VALUES (NULL, 'can of awesome', '1.99', 'awesome can of awesome'), (NULL, 'can of fail', '.25', 'can filled with failure'), (NULL, 'box of blocks', '24.99', 'box full of cube shaped items called blocks'), (NULL, 'bag of air', '3.99', 'reusable bag filled with useless air');
-- add some invoices
INSERT INTO `invoices` (`invoice_id`, `client_id`, `invoice_date`, `details`, `signer`) VALUES (NULL, '1', CURRENT_TIMESTAMP, 'there was an order for some stuff', ''), (NULL, '1', CURRENT_TIMESTAMP, 'more stuff needed now', ''), (NULL, '2', CURRENT_TIMESTAMP, 'need some stuff quick', ''), (NULL, '2', CURRENT_TIMESTAMP, 'don''t ship, just charge me', '');
-- add some invoice/part connections
INSERT INTO `invoice_parts` (`part_id`, `invoice_id`, `quantity`, `notes`) VALUES ('3', '1', '3', 'nothing special'), ('2', '1', '2', 'wants blue'), ('4', '2', '32', 'wants every color'), ('3', '2', '31', 'wants clear'), ('2', '3', '12', 'wants blue'), ('1', '4', '2', 'wants every color'), ('1', '1', '3', 'nothing special'), ('2', '1', '2', 'wants blue'), ('3', '2', '22', 'wants every color'), ('4', '2', '3', 'wants clear'), ('2', '3', '12', 'wants blue'), ('3', '4', '2', 'wants every color');
查询发票信息
SELECT
c.client_name,
i.invoice_date,
i.details,
i.signer
FROM invoices i
INNER JOIN clients c
ON i.client_id = c.client_id
WHERE i.invoice_id = 1
;
查询零件列表
SELECT
ip.invoice_id,
p.part_id,
p.part_name,
p.part_cost,
ip.quantity,
p.part_cost * ip.quantity as total
FROM invoice_parts ip
INNER JOIN parts p
ON ip.part_id = p.part_id
WHERE ip.invoice_id = 1;
查询发票总费用
SELECT
ip.invoice_id,
SUM( p.part_cost * ip.quantity ) as invoice_total
FROM invoice_parts ip
INNER JOIN parts p
ON ip.part_id = p.part_id
WHERE ip.invoice_id = 1;
按选定月份查询
SELECT
month( i.invoice_date ) as month,
count( distinct ip.invoice_id ) as invoices,
count( * ) as parts,
p.part_cost * ip.quantity as total
FROM invoices i
INNER JOIN invoice_parts ip
ON ip.invoice_id = i.invoice_id
INNER JOIN parts p
ON ip.part_id = p.part_id
WHERE i.client_id = 2
AND month( i.invoice_date ) = 5;
按选定年份查询
SELECT
year( i.invoice_date ) as year,
count( distinct ip.invoice_id ) as invoices,
count( * ) as parts,
p.part_cost * ip.quantity as total
FROM invoices i
INNER JOIN invoice_parts ip
ON ip.invoice_id = i.invoice_id
INNER JOIN parts p
ON ip.part_id = p.part_id
WHERE i.client_id = 1
AND year( i.invoice_date ) = 2014;
关于mysql - 自动更新Mysql数据库条目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30585016/
情况:我想从数据条目列表导航回我的 PageViewController。 before 和 previous 函数起作用 func pageViewController(pageViewContro
尊敬的 StackOverflow 用户 我有一个 gradle 项目,我想将其工件转换为 osgi 包。在这个包中,我有: 我不想导出的包(可能不会出现在 list 的 Export-Package
我为我的 PendingIntent 设置了一个警报。现在我想在我的 Activity 中显示是否设置了此警报。 Intent service = new Intent(context, MyServ
我有 2 个表、作者和书籍 authors 包含唯一的 IDauthorId 书籍也包含此作为外键 我需要知道书籍数量最多的作者。如果 2 个或更多作者并列最多书籍,我需要显示这两位作者 我已经能够通
我有一个名为 prospective_shop 的表,其中一个列名称是“用户名”。用户名未设置为主键,但我想删除所有具有重复用户名的行。我怎样才能以最快的方式做到这一点? 我尝试执行以下操作: ALT
我现在可以添加条目了。在我的应用程序中,用户可以在他的日历上输入约会/事件。但在他这样做之前,它应该向他显示他已经添加的事件。它应该从日历中获取事件并将其显示给他。这该怎么做?我被困在这部分。提前致谢
#include #include #include #include #include #include char *msg; ssize_t write_proc(struct file
我想将大于 1024 个字符的字符串传递到我的模块(文件系统)。由于内核参数限制为 1024 个字符,someone recommended改为使用 sysfs。 我试图包括 this example
我正在尝试使用 SQLAlchemy 构建以下查询(用作包含查询的子查询,该查询定义名为 tbl_outer 的别名): SELECT max(tbl.ts) AS max_1 FROM tbl WH
假设我有两张 map : Map map1 = Map.of( "a", "1", "b", "2", "c", "3", "x
通过简化示例,假设您有以下数据集: A B C Name Group Amount Dave A 2 Mike B 3 Adam C 4
我正在尝试在我的服务器上创建一个三级域虚拟主机。我希望配置设置正确,但我得到一个 ERR_NAME_NOT_RESOLVED错误。 我已经读到我必须在某处“添加 DNS 条目”以便解析名称,但我该怎么
我需要一个可用于在逗号分隔列表中查找第 N 个条目的正则表达式。 例如,假设此列表如下所示: abc,def,4322,mail@mailinator.com,3321,alpha-beta,43 .
GWT 应用程序(在 Eclipse 中开发)的源代码管理忽略文件中的典型条目是什么? 最佳答案 我会推荐: 你leave the eclipse files (.project, .classpat
我必须创建显示表 (Tbl) 中所有字段的输出,并创建一个额外的列来按月计算每个客户的累计总和(例如,如果客户在 4 月份有两次销售,新列将具有这些销售额和两行中任何先前销售额的总和)。我能做的就这么
文档 ( http://kubernetes.io/docs/user-guide/configmap/ ) 上用于使用值的示例基于 ConfigMap,其中每个数据条目都是一对/值。例子: apiV
我有一个奇怪的错字,我一遍又一遍地犯,而不是实际工作我的打字技巧,我想编辑我的 AutoHotkey 脚本来弥补这一点。 有时,当我输入大写字母时,我会点击:按钮并输入“I:”,我希望 AHK 仅用字
使用 lgdt 初始化 GDT 并将其加载到 GDTR 后,稍后如何更新 GDT? 如果我使用 sgdt 命令获取基地址,然后更新或添加条目,然后使用 lgdt 再次重新加载,我是否正确?还有其他方法
我有两个应用程序共享同一个数据库,即 API 和 MVC5 应用程序。两者都在本地主机上运行良好,但在部署到我的 Azure 帐户时出现此错误 Configuration Error Descrip
我正在尝试修剪我拥有的一些文件。我将为您保存到目前为止我编写的野兽,并通过提供虚构代码使其保持简单。 让我们来看看这个数组: [System.String[]]$Collection = 'Invit
我是一名优秀的程序员,十分优秀!