Oracle
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Oracle

Làm thế nào để chọn một cột từ tất cả các bảng mà nó nằm trong đó?

Để lấy bản ghi từ một bảng, bạn phải viết một truy vấn đối với bảng đó. Vì vậy, bạn không thể nhận TẤT CẢ các bản ghi từ các bảng có trường được chỉ định mà không có truy vấn đối với từng bảng trong số các bảng này.

Nếu có một tập hợp con gồm các cột mà bạn quan tâm và tập hợp con này được chia sẻ giữa tất cả các bảng, bạn có thể sử dụng thao tác UNION / UNION ALL như sau:

select * from (
select customer_number, phone, address from table1
union all
select customer_number, phone, address from table2
union all
select customer_number, phone, address from table3
)
where customer_number = 'my number'

Hoặc, trong trường hợp đơn giản khi bạn chỉ muốn biết bảng nào có bản ghi về khách hàng cụ thể

select * from (
select 'table1' src_tbl, customer_number from table1
union all
select 'table2', customer_number from table2
union all
select 'table3', customer_number from table3
)
where customer_number = 'my number'

Nếu không, bạn phải truy vấn từng bảng một cách riêng biệt.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Oracle - Cách cấp cho người dùng quyền đối với các đối tượng của người dùng khác

  2. Cách cài đặt cx_Oracle trên El Capitan

  3. Khóa chính Autoincrement trong cơ sở dữ liệu Oracle

  4. Cách tạo PL / SQL SYS_REFCURSOR trong cơ sở dữ liệu Oracle

  5. Đếm số lần xuất hiện của một ký tự trong Oracle SQL