在单个报告中从两个不同的表中检索数据

时间:2012-04-07 18:33:09

标签: sql

我有两个表Employee和Salary表,salary包含一个名为Salary_employee的字段中员工的薪水。 第二个是额外费用,额外费用包括与公司额外费用相关的记录,如电费,办公室维护,名为extra_expense。

(这两个表之间没有关系)。

最后,我只是想在报告中显示公司的所有费用,为此我需要将两个表分组。在这里使用什么加入或结合??。

2 个答案:

答案 0 :(得分:2)

如果这两个表之间没有任何关系,那么这实际上是行不通的,因为你不知道费用应该在哪里。如果可能,您应该重新设计数据库,因为根据您的描述,这听起来不可能。

<强>更新

好的,通过你的截图,我猜这个数据库只存储一个公司的信息?而不是多个?

如果这是正确的,并且如果您想要做的就是将数据压缩成一个流动的费用报告,那么我的确建议UNIONJOIN不会为您提供所需的流量。 UNION只会将两个输出粉碎成一个......我认为这就是你所要求的?

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

答案 1 :(得分:1)

听起来您不需要使用群组加入。只需在脚本中单独查询两个表,并根据它们的结构处理它们以生成报告。

Join和union是可用于从单独的表中提取常见事物的不同信息的函数。例如。如果您的用户的私有详细信息存储在一个表中,但其配置文件信息位于另一个表中。如果要显示私人详细信息和个人资料信息,可以通过公共用户名加入这两个表,以便在一个查询中组合并收集用户的所有信息。