ورود

View Full Version : مي خواهم مجموع ساعتهاي يك كارمند در سالنهاي همايش بوده را حساب كنم



ali_abbasi22145
شنبه 24 اردیبهشت 1390, 10:54 صبح
من مي خواهم مجموع ساعتهاي يك كارمند در سالنهاي همايش بوده را حساب كنم

يك جدول اصلي دارم كه فيلدهاي آن به قرار زير است:
Saloon,date,time,emp_no
emp_noشماره كارمندي و time مجموع ساعتهاي در چند سالن است و date تاريخ حضور در سالن ها
از روي جدول فرعي زير وتعداد سالن ها چند تا است.

يك جدول فرعي دارم كه فيلدهاي آن به قرار زير است:
Saloon2,date2,time2,enter_or_exit2,emp_no2
شماره كارمندي 100 ساعت ورود 8:45:21 تاريخ 01/02/1390 سالن1
شماره كارمندي 100 ساعت خروج 9:25:21 تاريخ 01/02/1390 سالن1
شماره كارمندي 100 ساعت ورود 10:45:21 تاريخ 01/02/1390 سالن2
شماره كارمندي 100 ساعت خروج 11:25:21 تاريخ 01/02/1390 سالن2

شماره كارمندي 101 ساعت ورود 9:45:21 تاريخ 01/02/1390 سالن2
شماره كارمندي 101 ساعت خروج 10:25:21 تاريخ 01/02/1390 سالن2
شماره كارمندي 101 ساعت ورود 11:20:21 تاريخ 01/02/1390 سالن1
شماره كارمندي 101 ساعت خروج 11:55:21 تاريخ 01/02/1390 سالن1

شماره كارمندي 102 ساعت ورود 8:45:21 تاريخ 01/02/1390 سالن2
شماره كارمندي 102 ساعت خروج 12:25:21 تاريخ 01/02/1390 سالن2

محمد سلیم آبادی
شنبه 24 اردیبهشت 1390, 21:43 عصر
جدول اولی در بدست آوردن نتیجه چه نقشی داره؟
آیا شروع و پایان هر همایش در یک روز صورت میگیرد؟ یا ممکنه طول همایش به چند روز کشیده شود؟

SELECT emp_no,
SUM(i)/3600 [hours],
(SUM(i)%3600)/60 [minutes],
((SUM(i)%3600)%60) [seconds]
FROM
(
SELECT emp_no2, saloon2,
DATEDIFF("s", MAX(time2), MIN(time2)) AS i
FROM Table2
GROUP BY emp_no, saloon2
)D
GROUP BY emp_no;

ali_abbasi22145
یک شنبه 25 اردیبهشت 1390, 12:37 عصر
جدول اولی در بدست آوردن نتیجه چه نقشی داره؟
آیا شروع و پایان هر همایش در یک روز صورت میگیرد؟ یا ممکنه طول همایش به چند روز کشیده شود؟

SELECT emp_no,
SUM(i)/3600 [hours],
(SUM(i)%3600)/60 [minutes],
((SUM(i)%3600)%60) [seconds]
FROM
(
SELECT emp_no2, saloon2,
DATEDIFF("s", MAX(time2), MIN(time2)) AS i
FROM Table2
GROUP BY emp_no, saloon2
)D
GROUP BY emp_no;

سلام
1.در جدول اول مجموع ساعتهاي همايش را ذخيره مي كنم در Time و روزهايي كه شخص در همايش بوده در date ذخيره مي شود و سالنهايي كه بوده ذخيره مي شود در Saloon.

2.شروع و پايان هر همايش در يك روز است و و هيچ وقت يك شخص نمي تواند در تاريخ 25/02/1390 درساعت 14:10:11 (عصر) وارد همايش شود و تا فرداي آن روز يعنيدر تاريخ 26/02/1390 درساعت 9:10:11 (صبح) خارج شود از همايش.

همايش مثلا: در تاريخ 25/02/1390 درساعت 14:10:11 شروع مي شود و در تاريخ همان روز يعني 25/02/1390 درساعت 15:15:11 تمام مي شود در سالن 1 و بعد دنباله همان همايش روز بعد در تاريخ 26/02/1390 درساعت 8:10:11 شروع مي شود و در تاريخ همان روز يعني 26/02/1390 درساعت 9:15:11 تمام مي شود در سالن 1

ali_abbasi22145
یک شنبه 25 اردیبهشت 1390, 13:03 عصر
جدول اولی در بدست آوردن نتیجه چه نقشی داره؟
آیا شروع و پایان هر همایش در یک روز صورت میگیرد؟ یا ممکنه طول همایش به چند روز کشیده شود؟

SELECT emp_no,
SUM(i)/3600 [hours],
(SUM(i)%3600)/60 [minutes],
((SUM(i)%3600)%60) [seconds]
FROM
(
SELECT emp_no2, saloon2,
DATEDIFF("s", MAX(time2), MIN(time2)) AS i
FROM Table2
GROUP BY emp_no, saloon2
)D
GROUP BY emp_no;

سلام
1.در جدول اول مجموع ساعتهاي همايش را ذخيره مي كنم در Time و روزهايي كه شخص در همايش بوده در date ذخيره مي شود و سالنهايي كه بوده ذخيره مي شود در Saloon.

2.شروع و پايان هر همايش در يك روز است و و هيچ وقت يك شخص نمي تواند در تاريخ 25/02/1390 درساعت 14:10:11 (عصر) وارد همايش شود و تا فرداي آن روز يعنيدر تاريخ 26/02/1390 درساعت 9:10:11 (صبح) خارج شود از همايش.

همايش مثلا: در تاريخ 25/02/1390 درساعت 14:10:11 شروع مي شود و در تاريخ همان روز يعني 25/02/1390 درساعت 15:15:11 تمام مي شود در سالن 1 و بعد دنباله همان همايش روز بعد در تاريخ 26/02/1390 درساعت 8:10:11 شروع مي شود و در تاريخ همان روز يعني 26/02/1390 درساعت 9:15:11 تمام مي شود در سالن 1