从MySql中的两个表交叉表

时间:2010-10-04 10:41:02

标签: mysql pivot-table crosstab

我有两个表,一个是* parts_raised *,另一个是* parts_detail *。

parts_raised:

SN(int),Job_Number(int),Category(varchar),Part_code(int),technician(varchar),Time      (timestamp),

Parts_detail:

Part_code(int),Value(int),Descriptions(text),
两个表中的

part_code相同。

如何编写查询以实现工作总数,以及每位技术人员每天的总费用。

technician    day1                             day2            
              Total Jobs     total cost        Total Jobs     total cost   

Technician-1  4                 153              5              253
Technician-2  7                 352              2              256

如何实现这一点或建议任何其他方法来获得相同的结果?

1 个答案:

答案 0 :(得分:1)

这样做吗?

SELECT
  technician, Job_day, SUM(Value)
FROM
(
  SELECT
    pr.technician, DAY(pr.Time) AS Job_day, pd.Value 
  FROM
    parts_raised AS pr
  JOIN
    Parts_detail AS pd
  ON
    pd.Part_code = pr.Part_code
) AS tempId
GROUP BY
  technician, Job_day