【发布时间】:2016-03-30 13:45:50
【问题描述】:
我有
card_type表,其中有card_id是auto_increment键和cardtpe是primary key。另一张桌子 我拥有的是activities表。活动表中的columns是activity_id和auto_increment键和activity列primary key。第三个表是actual_alldetails表。这actual_alldetails中的列是id和auto_increment键和(emp_code,activity_id,card_id)列与composite key。这 第四个表是employee表,这些表中的列是emp_code与primary key和emp_name。
当我尝试执行我的查询之一时:-
SELECT i.*,
d.Date,
a.in_time,
a.out_time,
SEC_TO_TIME(SUM(TIME_TO_SEC(a.out_time))-(TIME_TO_SEC(a.in_time))) AS duration,
c.cardtype,
a.wo,
v.activity,
a.quty,
a.wastage,
a.mcusage,
a.actual_wastage
FROM employee_details i
INNER JOIN actual_alldetails a ON i.emp_code=a.emp_code
INNER JOIN attendance_date d ON d.date_id=a.date_id
INNER JOIN card_type c ON c.card_id=a.card_id
INNER JOIN activities v ON v.activity_id=a.activity_id
WHERE d.Date='2016-01-30'
ORDER BY v.activity;
它向我显示如下错误:
没有 GROUP 的 GROUP 列 (MIN(),MAX(),COUNT(),...) 的混合 如果没有 GROUP BY 子句,则列是非法的。
我不明白为什么它会显示这样的错误。是因为我正在使用一个主键和一个复合键进行内部连接吗? 如果我的预测是正确的,那么执行这些操作的正确查询是什么? 请帮我解决这个问题。
【问题讨论】:
标签: mysql join composite-primary-key