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

Nama tabel berparameter

Satu-satunya cara, tanpa membuat kueri secara dinamis, adalah dengan membuat kode keras di setiap kombinasi dan memilih yang Anda inginkan.


Jika nama tabel adalah parameter untuk prosedur tersimpan, ini bisa dalam blok IF. Tapi rasanya kikuk.


Jika bidang dari setiap tabel sama, Anda dapat menyatukan tabel dan memilih dari...

CREATE VIEW myUnifiedStructure AS
      SELECT 'Table1' AS tableName, * FROM Table1
UNION SELECT 'Table2' AS tableName, * FROM Table2
UNION SELECT 'Table3' AS tableName, * FROM Table3
-- etc

SELECT * FROM myUnifiedStructure WHERE tableName = 'Table1'


Jika bidang berbeda di setiap tabel, Anda mungkin hanya tertarik pada sebagian bidang...

CREATE VIEW myUnifiedStructure AS
      SELECT 'Table1' AS tableName, field1 AS field1, field4 AS field2 FROM Table1
UNION SELECT 'Table2' AS tableName, field2 AS field1, field3 AS field2 FROM Table2
UNION SELECT 'Table3' AS tableName, field2 AS field1, field4 AS field2 FROM Table3
-- etc


Atau Anda dapat memberikan NULL untuk bidang yang tidak ada di tabel sumber...

CREATE VIEW myUnifiedStructure AS
      SELECT 'Table1' AS tableName, NULL   AS field1, field2 AS field2 FROM Table1
UNION SELECT 'Table2' AS tableName, field1 AS field1, field2 AS field2 FROM Table2
UNION SELECT 'Table3' AS tableName, field1 AS field1, NULL   AS field2 FROM Table3
-- etc


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Konfigurasi Jboss Datasource untuk MySQL - elemen MysqlXADataSource

  2. Formulir PHP tidak dimasukkan ke dalam database mySQL

  3. menampilkan data dari database ke dropdown CodeIgniter

  4. Bagaimana cara memasukkan NULL ke kolom integer MySQL dengan PHP/MySQLi?

  5. SQL Query untuk mendapatkan nilai kolom yang sesuai dengan nilai MAX kolom lain?