2009-04-20 9 views
0

Je suis en train de sélectionner la requête suivante de ma table:multiples clause where dans la requête ne

SELECT ARTICLE_NO, USERNAME, ACCESSSTARTS, ARTICLE_NAME, 
date_format(str_to_date(ACCESSSTARTS, '%d.%m.%Y %k:%i:%s'), '%d %m %Y') AS shortDate 
FROM AUCTIONS WHERE SUBCAT = 'fake' and USERNAME = 'testuser' ORDER BY 
str_to_date(ACCESSSTARTS, '%d.%m.%Y %k:%i:%s'), article_no limit 0, 10 

je reçois 0 retour.

Cependant, les deux

SELECT ARTICLE_NO, USERNAME, ACCESSSTARTS, ARTICLE_NAME, 
date_format(str_to_date(ACCESSSTARTS, '%d.%m.%Y %k:%i:%s'), '%d %m %Y') AS shortDate 
FROM AUCTIONS WHERE SUBCAT = 'fake' ORDER BY 
str_to_date(ACCESSSTARTS, '%d.%m.%Y %k:%i:%s'), article_no limit 0, 10 

et

SELECT ARTICLE_NO, USERNAME, ACCESSSTARTS, ARTICLE_NAME, 
date_format(str_to_date(ACCESSSTARTS, '%d.%m.%Y %k:%i:%s'), '%d %m %Y') AS shortDate 
FROM AUCTIONS WHERE USERNAME = 'testuser' ORDER BY 
str_to_date(ACCESSSTARTS, '%d.%m.%Y %k:%i:%s'), article_no limit 0, 10 

retour des jeux de résultats attendus. Pourquoi ne travaillent-ils pas ensemble?

+0

s'il vous plaît briser votre code sur plusieurs lignes pour faciliter la comparaison – Alnitak

Répondre

2

OÙ SUBCAT = 'faux' et USERNAME = 'testuser'

devrait être:

OÙ SUBCAT = 'faux' OU USERNAME = 'testuser'

cela retournera les deux résultats qui est ce que vous cherchez?

Editer: Désolé, mal lu les champs. Ajoutez la colonne "SUBCAT" dans vos requêtes afin que vous puissiez voir combien d'occurrences il y a avec chacune et assurez-vous que la combinaison produira des résultats avant d'appliquer les deux clauses where.

+0

l'ET serait impossible à évaluer car il ne peut pas être les deux valeurs, mais il pourrait être l'un ou l'autre. – Tanner

+0

pourquoi? Je veux sélectionner tous les enregistrements qui ont la catégorie fake appartenant à l'utilisateur testuser. Sûrement en utilisant OU entraînera tous les enregistrements dans la fausse sous-catégorie avec un utilisateur? –

+0

Désolé, mon erreur, ont posté éditer. – Tanner

2

Je pense que vous n'avez aucun résultat avec une combinaison de "faux" ET "testuser"? (Voulez-vous dire OU?)

Questions connexes