2016-03-18 5 views
1

У меня есть две таблицы. В этой таблице у меня есть столбец t6wo each.if два столбца и их значения одинаковы в обеих таблицах, а затем как сделать внутреннее соединение между этой таблицей. my emp_code является первичным ключом в другой таблице, а это имя таблицы является сотрудником. , и этот emp_code является внешним ключом в таблице фактических_алматов и таблице emp_time_tracking. actual_alldetails стол: -i dont want duplicate rows in my result

emp_code, date_id, card_id, wo, activity_id, quty, wastage, mcusage, actual_wastage 
18, 151, 34, , 64, 275, 0, , 0 
10, 152, 37, , 65, 19, 0, 3, 0 
7, 152, 72, , 65, 4200, 4, , 0 

emp_time_tracking стол: -

emp_code, date_id, in_time, out_time 
18, 151, 09:00:00, 18:00:00.0000 
10, 152, 09:00:00, 18:00:00.0000 
7, 152, 09:00:00, 18:00:00.0000 

здесь emp_code и date_id такое же, и их значение также то же самое. но когда я пытаюсь выполнить мой запрос как

select t.emp_code,t.date_id,t.in_time,t.out_time,a.card_id, a.wo, a.activity_id, a.quty, a.wastage, a.mcusage, a.actual_wastage from actual_alldetails a inner join emp_time_tracking t on t.emp_code=a.emp_code; 

будет Retrun все строки из emp_time_tracking и actual_alldetails.

, пожалуйста, помогите разобраться с моим запросом. Не хотите дублировать значения из emp_time_tracking. Я имею в виду, что строки emp_code и date_id не должны повторяться более одного раза. , пожалуйста, помогите мне выйти из этого.

+0

You ищут предложение GROUP BY. Всегда полезно прочитать документацию: https://dev.mysql.com/doc/refman/5.0/en/group-by-handling.html. – arkascha

ответ

0

добавить это к концу вашего запроса

GROUP BY emp_code; 
0

вместо внутреннего соединения попытаться использовать "OUTER JOIN" и добавить "GROUP BY"

0

Попробуйте ниже query-

SELECT t.emp_code,t.date_id,t.in_time,t.out_time,a.card_id, a.wo, a.activity_id, a.quty, a.wastage, a.mcusage, a.actual_wastage 
FROM actual_alldetails a 
INNER JOIN emp_time_tracking t ON t.emp_code=a.emp_code 
GROUP BY t.emp_code,t.date_id;