2012-06-06 29 views
14

Tôi đang sử dụng truy vấn sql để tìm nạp các hàng từ bảng. Tôi muốn chọn các hàng chỉ với các giá trị riêng biệt và nếu không có giá trị nào được nhập cho một số hàng, thì hàng đó không nên ở đó.SQL chọn các hàng riêng biệt và bỏ qua hàng nếu trống

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

Đây là truy vấn tôi đang sử dụng, tôi nhận được các hàng riêng biệt theo truy vấn này nhưng cũng nhận được hàng trống.

+2

không có giá trị mà columm? –

Trả lời

17

Giải pháp đơn giản:

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

Hãy thử truy vấn này với IS NOT NULL

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

Tôi sẽ sử dụng

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

nhưng nó tùy thuộc vào động cơ bạn đang sử dụng và hầu hết quan trọng - cách bạn đang ở erting giá trị rỗng. NULL <> 0 <> ''

0

Trong truy vấn này, các giá trị khác nhau được hiển thị, nếu cột chứa một số giá trị null cũng bị loại bỏ.

"chọn màu sắc khác nhau từ tbl_product nơi màu không phải là null"

Tôi hy vọng mã này là hữu ích cho tất cả ..

Các vấn đề liên quan