我有两个表 Employee 和 Salary 表,salary 由名为 Salary_employee 的字段中的员工薪水组成。第二个是额外费用,额外费用包含与公司额外费用相关的记录,例如电费,办公室维护在名为extra_expense的字段中。
(他们是这两个表之间没有关系)。
最后,我只想在报告中显示公司的所有费用,为此我需要对两个表进行分组。在这里使用什么加入或联合?
我有两个表 Employee 和 Salary 表,salary 由名为 Salary_employee 的字段中的员工薪水组成。第二个是额外费用,额外费用包含与公司额外费用相关的记录,例如电费,办公室维护在名为extra_expense的字段中。
(他们是这两个表之间没有关系)。
最后,我只想在报告中显示公司的所有费用,为此我需要对两个表进行分组。在这里使用什么加入或联合?
如果这两个表之间没有关系,那么这真的行不通,因为你不知道费用应该绑定到哪里。如果可能,您应该重新设计数据库,因为根据您的描述这听起来不可能。
更新
好的,看你的截图,我猜这个数据库只存储一个公司信息?而不是多个?
如果这是正确的,并且如果您只想将数据压缩成一份流动的费用报告,那么我确实建议使用UNION
. AJOIN
不会给你你正在寻找的流量。AUNION
只会将两个输出粉碎成一个......我认为这就是你所要求的?
SELECT ext_amount AS amount, ext_date AS date_of_trans
FROM extra_expenses
UNION
SELECT sal_cash AS amount, sal_dateof_payment AS date_of_trans
FROM employee_salary
听起来您不需要使用组或加入。只需在脚本中分别查询这两个表并根据它们的结构处理它们以生成报告。
联接和联合是可用于从单独的表中提取关于共同事物的不同信息的函数。例如,如果您有一个用户的私人详细信息存储在一个表中,但他们的个人资料信息在另一个表中。如果您想同时显示私人详细信息和个人资料信息,您可以通过通用用户名连接这两个表,以便在一个查询中组合和收集有关用户的所有信息。