У меня есть 2 таблицы с большим количеством данных, которые мне нужно присоединиться. Проблема в том, что две таблицы содержат в основном одни и те же данные, а соединение иногда создает нежелательные, хотя и не неожиданные. Результаты. Вот пример:Соедините 2 записи в 1 таблице с 2 записями в другой таблице, чтобы создать 2 записи
week_end_date nugly payroll_code rate hours check_number
--------------------------------------------------------------
2010-01-17 AU9T8K HRLY-W 13.00000 40.00000 530957
2010-01-17 AU9T8K HRLY-W 13.00000 40.00000 DD00000105382
week_end_date nugly trx_number pay_code hours rate
2010-01-17 AU9T8K ETS00000010771815 HRLY-W 40.00000 13.00000
2010-01-17 AU9T8K ETS00000010771684 HRLY-W 40.00000 13.00000
Я ищу в проверочной # и trx_number объединены в объединение, но я в конечном итоге с крестом присоединиться, потому что все то же самое, что я присоединяюсь на. Для каждого случая у меня это так, мне действительно все равно, что trx_number заканчивается тем, что проверит #.
Любые мысли?
Вот текущие результаты:
week_end_date nugly payroll_code rate hours check_number trx_number
2010-01-17 AU9T8K HRLY-W 13.00000 40.00000 DD00000105382 ETS00000010771815
2010-01-17 AU9T8K HRLY-W 13.00000 40.00000 530957 ETS00000010771815
2010-01-17 AU9T8K HRLY-W 13.00000 40.00000 DD00000105382 ETS00000010771684
2010-01-17 AU9T8K HRLY-W 13.00000 40.00000 530957 ETS00000010771684
То, что я хотел бы является:
week_end_date nugly payroll_code rate hours check_number trx_number
2010-01-17 AU9T8K HRLY-W 13.00000 40.00000 DD00000105382 ETS00000010771815
2010-01-17 AU9T8K HRLY-W 13.00000 40.00000 530957 ETS00000010771684
Где я на самом деле не важно, который trx_number является, с которой check_number.
Вот мой текущий запрос:
SELECT c.week_end_date, c.nugly, c.payroll_code, c.rate, c.hours, c.check_number, t.trx_number
FROM checksByNuglyPaycode c
LEFT OUTER JOIN trxNumByNuglyPaycode t ON c.db_id = t.db_id AND c.fridate = t.fridate
AND c.nugly = t.nugly AND c.trx_type = t.trx_type AND c.payroll_code = t.pay_code
AND c.hours = t.hours AND c.rate = t.rate AND c.week_end_date = t.week_end_date
WHERE t.db_id = 'lal' AND c.nugly = 'AU9T8K' AND c.payroll_code = 'HRLY-W'
AND c.fridate = '2010-01-22' AND c.week_end_date = '2010-01-17'
ORDER BY c.fridate, c.nugly, payroll_code
где положение, очевидно, специально для этого случая, в конечном запросе, там не будет, где положение.
Можете ли вы показать нам код, который вы уже пробовали и Ожидаемые результаты? –
Pls не использует вкладки при размещении контента на SO - делает форматирование кошмаром –
Извините, просто скопируйте и вставьте. – spuppett