【发布时间】:2019-07-26 18:28:59
【问题描述】:
我正在努力实现以下目标。任何帮助将不胜感激!
1.在第一个表中,对一个主交易及其对应的偏移交易进行自连接 2.在第二个表中,找到所有与对应的抵消交易价格不匹配的主要交易。
我认为第二个自联接不起作用。这应该将价格表中的主要交易和抵消交易联系起来,并找出某些价格日期的价格不匹配的情况。
SELECT *
FROM transactions tran1 transactions tran2
,prices pr1
,prices pr1
WHERE tran1.tran_type = 1 --Original deal
AND tran2.tran_type = 2 -- Offset deal
AND tran1.tran_num = tran2.offset_tran_num
AND tran1.ins_num = pr1.ins_num
AND tran2.ins_num = pr2.ins_num
AND pr1.ins_num = pr2.ins_num
AND pr1.profile_num = pr2.profile_num
AND pr1.price_date = pr2.price_date
AND pr1.value != pr2.value
【问题讨论】:
-
混淆数据及其输出
-
嗨,1) 添加连接语句 - 通过来分隔表给出 carthersian 乘积,2) 应用唯一的表别名 - 现在您有 pr1 两次,3) 将连接条件从 WHERE 移动到 FROM 子句跨度>
-
你为什么不认为第二个自加入工作?您是否遇到错误,或者不是您预期的结果?请添加示例数据、预期结果以及您的问题现在会发生什么。此外,请考虑改用现代连接语法,这样我们和您都可以更轻松地了解正在发生的事情,并可能减少编码错误。