Не могли бы вы предоставить немного больше информации?Как выглядит ваш текущий запрос?Как устроены таблицы?Вы пытаетесь присоединиться к ключам?
Вы упоминаете, что «смотрите» на чек # и trx_number ... это результаты?
У вас есть пример того, что будет возвращено для предоставленных вами строк?
Мне нравится ответ Алекса, он выглядит убедительным.
Возможно, глупый комментарий, но если вам все равно, какой trx_number вы получите, и в вашем примере запроса вы используете левое соединение, которое подразумевает, что вы хотите только «все» данные из checkByNuglyPaycode, почемуты присоединился к двум столам?Вам нужны все данные для обеих таблиц?Больше похоже на полное внешнее соединение?
Так что, если в checkByNuglyPaycode есть запись, которой нет в trxNumByNuglyPaycode, она вам понадобится?
А если есть запись в trxNumByNuglyPaycode, а не в checkByNuglyPaycode, вам это понадобится?
Интересно, если вы хотите получить все данные из обеих таблиц, вы можете использовать selectниже.Примечание: в нем используются разные, которые, вероятно, будут медленными, и я думаю, что полные внешние соединения также могут быть медленными ... это было довольно давно ...
SELECT DISTINCT
ISNULL(c.week_end_date, t.week_end_date), ISNULL(c.nugly,t.nugly),
ISNULL(c.payroll_code,t.payroll_code), ISNULL(c.rate,t.rate),
ISNULL(c.hours, t.hours), c.check_number, t.trx_number
FROM
checksByNuglyPaycode c
FULL 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
ORDER BY
c.fridate, c.nugly, payroll_code