加入我
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;
它告訴我像錯誤:組列
混合(MIN(),MAX() COUNT(),...)沒有GROUP 列是非法的,如果沒有GROUP BY子句。
我不明白爲什麼它顯示出像這樣的錯誤。是否因爲我正在使用一個主鍵和一個組合鍵進行內部連接? 如果我的預測是正確的,那麼做這些的正確查詢是什麼? 請幫我解決這個問題。