sql >> Database >  >> RDS >> Mysql

MySql selecteer alle tabellen met meerdere specifieke kolommen

Dit is een snellere versie:

SELECT TABLE_NAME 
      FROM INFORMATION_SCHEMA.COLUMNS
      WHERE COLUMN_NAME IN ('columnA','columnB','columnC')
group by TABLE_NAME
having count(distinct COLUMN_NAME) = 3 

In de bovenstaande query heeft het tellen nee. aantal kolommen gespecificeerd in IN zin.

of probeer te volgen (maar het zal rampzalig zijn voor zoveel kolommen. Dus vermijd het)

SELECT DISTINCT TABLE_NAME FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME IN 
( SELECT TABLE_NAME FROM INFORMATION_SCHEMA.COLUMNS WHERE COLUMN_NAME = 'columnA' )
and TABLE_NAME in 
( SELECT TABLE_NAME FROM INFORMATION_SCHEMA.COLUMNS WHERE COLUMN_NAME = 'columnB')
and TABLE_NAME in 
( SELECT TABLE_NAME FROM INFORMATION_SCHEMA.COLUMNS WHERE COLUMN_NAME = 'columnC')


  1. MySQL CASE om meerdere kolommen bij te werken

  2. Taaldetectie met gegevens in PostgreSQL

  3. Voeg array in MySQL-database in met PHP

  4. Tijdzonewaarde van gegevens wijzigen