Mysql
 sql >> Baza danych >  >> RDS >> Mysql

MySql wybierz wszystkie tabele z wieloma określonymi kolumnami

To jest szybsza wersja:

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

W powyższym zapytaniu mający liczyć będzie nie. kolumn określonych w IN wyrażenie.

lub spróbuj śledzić (ale spowoduje to katastrofę dla tak wielu kolumn. Więc unikaj tego)

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. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Jak zaimportować ponad 100000 rekordów do bazy mysql?

  2. najlepsze właściwości źródła danych mysql dla Grails tomcat jndi

  3. Jak obliczyć procentowy wzrost z poprzedniego wiersza/dzień po złożonej Grupie według?

  4. PHP MySql - Sprawdź, czy istnieje wartość

  5. Łączenie Doctrine DQL na kolumnach dopuszczających wartość null