我有2个需要加入大量数据的表。问题在于2个表大部分保持相同的数据,并且连接有时会产生不希望的,但并不意外。结果。这里有一个例子:在1个表中加入2条记录,在另一个表中记录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最终与哪个check#相关。
有什么想法?
以下是目前的结果:
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
where子句显然是专门为这种情况下,在最后的查询,不会有一个where子句。
你能告诉我们的代码,你试过和预期成绩? – 2011-02-15 22:33:25
请勿在SO上发布内容时使用标签 - 使格式化成为噩梦 – 2011-02-15 22:55:40
对不起,只需复制并粘贴。 – spuppett 2011-02-15 23:03:33