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

SQL zwraca listę pól zawierających dane inne niż NULL

Więc Twoim celem jest uzyskanie listy nazw kolumn tak, że wszystkie z nich mają co najmniej jedną wartość różną od NULL w dowolnym wierszu, prawda? Jeśli tak, zobacz poniżej...

Nie możesz sparametryzować nazw kolumn w zapytaniu SQL, więc musisz dynamicznie budować tekst SQL w wybranym przez siebie języku klienta. Algorytm wyglądałby tak:

  1. Z wyprzedzeniem musisz znać listę nazw kolumn. Istnieją sposoby na zautomatyzowanie pobierania tej listy w PostgreSQL , MySQL i większość innych baz danych.
  2. Iteruj po tej liście i dla każdej column_name dynamicznie buduj tekst SQL, taki jak:SELECT column_name FROM YOUR_TABLE WHERE column_name IS NOT NULL LIMIT 1 (patrz MySQL LIMIT i PostgreSQL LIMIT ).
  3. Wykonaj powyższe zapytanie i pobierz wynik. Jeśli zawiera wiersz, dodaj column_name do listy wyników .
  4. Kontynuuj iterację, dopóki na liście nazw kolumn znajdują się elementy.

Wynikowa lista zawiera teraz kolumny z co najmniej jedną wartością inną niż NULL.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. przed wstawieniem wyzwalacza do wstawiania zduplikowanych wierszy do innej tabeli

  2. python pymysql.err.OperationalError:(2013, „Utracono połączenie z serwerem MySQL podczas zapytania”)

  3. Jaka jest alternatywa dla wygenerowanej kolumny w MySQL 5.6

  4. Prawidłowo używasz klas w innych klasach w php?

  5. Jak znaleźć lokalizację bazy danych MySQL na dysku twardym?