所以我的情况可以参考下表:
TABLE A TABLE B TABLE C
ID TOTAL_PRICE ORDER_ID ID ID ORDER ID
1 10 101 101 1001 101
2 20 101 103 1002 101
3 25 103 1003 103
4 10 103 1004 103
对于所有这些表格,我期待这个结果:
EXPECTED OUTPUT
ID TOTAL_PRICE ORDER_ID ID
1 10 101 1001
2 20 101 1002
3 25 103 1003
4 10 103 1004
我得到的结果如下:
REAL OUTPUT
ID TOTAL_PRICE ORDER_ID ID
1 10 101 1001
1 10 101 1002
2 20 101 1001
2 20 101 1002
3 25 103 1003
3 25 103 1004
4 10 103 1003
4 10 103 1004
我的sql如下,我使用SQL Oracle:
SELECT a.id, a.total_price, a.order.id, c.id
FROM a,b,c
WHERE a.order_id=b.id AND b.id=c.order_id
在这种情况下,我如何解决问题以获得预期的输出?谢谢。
答案 0 :(得分:1)
考虑到匹配的表格条件,您似乎希望从表getOrElse(())
为表id
中的每一行分配一个c
。为此,您可以使用a
枚举表row_number
和a
中的行,然后分别使用行号分配此信息:
c