có thể đặt bí danh tất cả cột bằng tiền tố, trong một lựa chọn? Tôi có một nhóm các bảng trong một db Oracle mà tôi cần phải kết hợp với nhau, và hầu hết chúng có cùng tên cột. Tôi muốn có một cái gì đó giống nhưbí danh tất cả các cột trong truy vấn có tiền tố
select MAGIC_ADD_PREFIX("PREFIX", *) from TABLE
và có một kết quả như
+---------+----------+----------+
|PREFIX_ID|PREFIX_FOO|PREFIX_BAR|
+---------+----------+----------+
|... | | |
ATM là điều duy nhất tôi có thể nghĩ là một cái gì đó chumsky thích
select ID PREFIX_ID, FOO PREFIX_FOO, BAR PREFIX_BAR from TABLE
nhưng nó xấu xí như địa ngục và error-prone
==== giải thích thêm ====
Vấn đề với
select TABLE.*,...
là tôi đang sử dụng java + JDBC driver để lấy các cột, và các phương pháp java.sql.ResultSet
(resultset.getInt("COLUMNNAME")
, .getString("COLUMNNAME")
...) không hỗ trợ cú pháp "TABLENAME.COLUMNAME ".
nếu tôi làm (giản thể, không cheks lỗi ...)
ResultSet rs = mkResultSet("select * from table_a, table_b");
rs.next();
System.out.println(rs.getInt("table_a.id"));
tôi nhận được một SQLException
với tên cột không hợp lệ như nhắn
dup: http://stackoverflow.com/questions/329931/sql-select-join-is-it-possible-to- prefix-all-columns-as-prefix – dforce