sql >> Databáze >  >> RDS >> Mysql

MySql vybere všechny tabulky s více konkrétními sloupci

Toto je rychlejší verze:

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

Ve výše uvedeném dotazu mít počet bude mít ne. sloupců zadaných v IN fráze.

nebo zkuste sledovat (ale způsobí to katastrofu pro tolik sloupců. Takže se tomu vyhněte)

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. Vygenerujte rozsah dat pomocí SQL

  2. Jak vygenerovat rozsah dat na serveru SQL Server

  3. ECONNREFUSED pro Postgres na nodeJS s dockery

  4. SQL Server 2016:Vytvořte vztah