![](/img/trans.png)
[英]SQL two different tables in combobox and textfield from same database in Netbeans
[英]SQL select rows from two different tables with different column names
我想从两个不同的表(TABLE_A和TABLE_B)中选择行。 我正在使用oracle db和hibernate。 这是我的桌子:
这是TABLE_A
+----+--------+---------+-----------+---------------------+---------------------+
| ID | AMOUNT | BALANCE | STATUS | CREATE_DATE | END_DATE |
+----+--------+---------+-----------+---------------------+---------------------+
| 1 | 5 | 5 | FINISHED | 2014-02-27 15:10:20 | 2014-02-27 15:10:20 |
| 2 | 12 | 17 | TIMED_OUT | 2014-02-27 15:10:20 | 2014-02-27 15:10:20 |
| 3 | 21 | 38 | COMMITED | 2014-02-27 15:10:20 | 2014-02-27 15:10:20 |
+----+--------+---------+-----------+---------------------+---------------------+
这是TABLE_B
+----+----------------+---------------+----------------+---------------------+
| ID | PAYMENT_AMOUNT | TOTAL_BALANCE | PAYMENT_STATUS | REQUEST_TIMESTAMP |
+----+----------------+---------------+----------------+---------------------+
| 1 | 3 | 23 | FAILED | 2014-02-27 15:10:20 |
| 2 | 12 | 11 | FULFILLED | 2014-02-27 15:10:20 |
| 3 | 2 | 9 | TIMED_OUT | 2014-02-27 15:10:20 |
+----+----------------+---------------+----------------+---------------------+
我想做的是,我需要通过单个查询获得如下结果:
+--------+---------+-----------+---------------------+---------------------+
| AMOUNT | BALANCE | STATUS | DATE | END_DATE |
+--------+---------+-----------+---------------------+---------------------+
| 5 | 5 | FINISHED | 2014-02-27 15:10:20 | 2014-02-27 15:10:20 |
| 12 | 17 | TIMED_OUT | 2014-02-27 15:10:20 | 2014-02-27 15:10:20 |
| 21 | 38 | COMMITED | 2014-02-27 15:10:20 | 2014-02-27 15:10:20 |
| 3 | 23 | FAILED | 2014-02-27 15:10:20 | null |
| 12 | 11 | FULFILLED | 2014-02-27 15:10:20 | null |
| 2 | 9 | TIMED_OUT | 2014-02-27 15:10:20 | null |
+--------+---------+-----------+---------------------+---------------------+
结果ordered by DATE
。 列描述如下:
AMOUNT = TABLE_A.AMOUNT or TABLE_B.PAYMENT_AMOUNT
BALANCE = TABLE_A.BALANCe or TABLE_B.TOTAL_BALANCE
STATUS = TABLE_A.STATUS or TABLE_B.PAYMENT_STATUS
DATE = TABLE_A.CREATE_DATE or TABLE_B.REQUEST_TIMESTAMP
END_DATE = TABLE_A.END_DATE or null
有什么办法可以在oracle db中获得这些结果以及将这些结果绑定到java中的休眠对象?
尝试这样的事情
select * from (
select id as amount, ... from t1
union all
select id as amount, ... from t2
) t order by date
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.