Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

Apakah ada solusi umum untuk mengekspresikan daftar kolom turunan di Oracle (dan MySQL)?

Untuk solusi MySQL, Anda dapat menggunakan UNION untuk menyetel nama semua kolom dalam istilah kueri baris nol, dan kemudian menanyakan sesuatu yang lebih kompleks:

SELECT null AS a, null AS b, null AS c FROM dual WHERE false
UNION ALL
SELECT <expr>, <expr>, <expr>
FROM <realtable>...

Hanya istilah kueri pertama dari UNION yang mendefinisikan nama kolom dari keseluruhan kueri. Nama kolom (atau kekurangannya) dalam istilah kueri berikutnya tidak memengaruhi nama kolom akhir.

Anda perlu mengetahui nomor kolom, tetapi seharusnya cukup mudah untuk memisahkan kedua istilah kueri. Sejauh yang saya tahu, ini berfungsi di Oracle dan MySQL (namun, saya hanya mengujinya di MySQL, bukan di Oracle).



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Mengapa saya perlu membersihkan kumpulan koneksi setiap kali saya menerapkan ulang?

  2. PHP MYSQL PDO SUM kolom

  3. Masalah pencarian dengan MySQL

  4. SQL Pilih data dari tiga tabel terkait

  5. SQL:hitung jumlah nilai yang berbeda di setiap kolom