sql >> データベース >  >> RDS >> Mysql

MySqlは、複数の特定の列を持つすべてのテーブルを選択します

    これはより高速なバージョンです:

    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で指定された列の数 フレーズ。

    またはフォローしてみてください(ただし、非常に多くの列に災害が発生するため、避けてください)

    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のifnullとcolesceの違いは何ですか?

    2. Cakephp:NOW()を検索条件で機能させる方法は?

    3. リストPostgresENUMタイプ

    4. Psycopg2インサートが保存されていません