2012-06-06 14 views
14

Używam kwerendy sql do pobrania wierszy z tabeli. Chcę wybrać wiersze tylko z różnymi wartościami i jeśli nie ma wartości wprowadzonej dla pewnego wiersza, tego wiersza tam nie powinno być.SQL wybierz różne wiersze i ignoruj ​​wiersz, jeśli puste

SELECT DISTINCT meta_value FROM `wp_postmeta` WHERE meta_key = "aaa"; 

Jest to kwerenda używam, otrzymuję odrębne wiersze przez to zapytanie, ale także pobiera pusty wiersz.

+2

nie wartość, dla której columm? –

Odpowiedz

17

Proste rozwiązanie:

SELECT DISTINCT meta_value 
FROM `wp_postmeta` 
WHERE meta_key = "aaa" AND meta_value != ""; 
2
SELECT DISTINCT meta_value 
FROM `wp_postmeta` 
WHERE meta_key = "aaa" 
AND meta_value != ""; 
16

Spróbuj frazę IS NOT NULL

SELECT DISTINCT meta_value 
FROM `wp_postmeta` 
WHERE meta_key = "aaa" 
AND meta_value IS NOT NULL ; 
1

użyłbym

where meta_key = "aaa" 
AND (meta_value IS NOT NULL or meta_value != ""); 

ale to zależy od silnika używasz i najbardziej ważne - jak się czujesz sprawdzanie pustych wartości. NULL <> 0 <> ''

0

W tym zapytaniu wyświetlane są różne wartości, jeśli kolumna zawiera również niektóre wartości puste.

„wybierz wyraźny kolor z tbl_product gdzie kolor nie jest pusta”

Mam nadzieję, że ten kod jest pomocny dla wszystkich ..