2012-08-24 33 views
13

Tôi đang cố gắng lấy đúng cú pháp cho trường hợp sau?không bằng nhiều giá trị

SELECT * FROM wp_posts AS p WHERE post_type = 'post' AND post_status = 'publish' AND ID <> 5616,1095,1357,271,2784,902 ORDER BY post_title DESC 

Trả lời

40

Thay vì <>, bạn có thể sử dụng NOT IN (5616,1095...)

SELECT * 
FROM wp_posts AS p 
WHERE post_type = 'post' 
AND post_status = 'publish' 
AND ID NOT IN (5616,1095,1357,271,2784,902) 
ORDER BY post_title DESC 
+0

cảm ơn câu trả lời của bạn – lgt

+0

Đánh bại tôi sau 22 giây. :-) +1 và xóa câu trả lời của tôi. –

2
SELECT * FROM wp_posts AS p WHERE post_type = 'post' 
AND post_status = 'publish' AND 
ID NOT IN (5616,1095,1357,271,2784,902) ORDER BY post_title DESC 
2

Nhà điều hành <> so sánh một đối số duy nhất trái và phải để xem nếu họ không bằng nhau. Trong trường hợp của bạn, bạn có một đối số bàn tay trái cần phải được kiểm tra (tôi giả định) để xem nếu ID không phải là giá trị ở bên phải. Do đó bạn nên sử dụng ID NOT IN (5616,1095,1357,271,2784,902)

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