7
votes

Mysql: question sur Sélectionnez où et / ou

J'essaie d'écrire une requête qui retourne le même résultat de trois événements différents, mais je pense que je le fais mal. Je peux exécuter ma requête contre un identifiant d'événement et ça marche. Comment puis-je sélectionner les trois? Voici ce que j'ai jusqu'à présent: xxx


0 commentaires

4 Réponses :


29
votes
SELECT * 
FROM `Registrations`  
WHERE `Role` = "Attendee" 
    AND `RegistrationStatus_ID` = "1" 
    AND `DigSignature` IS NULL 
    AND `Event_ID` in ("147", "155", "160")

2 commentaires

Je suppose que vous gagnez le prix "Quick Post" cette fois.


L'affichage de la requête est agréable!



0
votes

Vous devez envelopper ou des déclarations entre parenthèses: xxx


0 commentaires

2
votes
SELECT * FROM `Registrations` 
WHERE `Role` = "Attendee" AND `RegistrationStatus_ID` = "1" AND `DigSignature` IS NULL
    AND (`Event_ID` = "147" OR `Event_ID` = "155" OR `Event_ID` = "160")
When you're mixing AND and OR, it's helpful to use parens to group things together.  Even when it's not necessary for logic, it's sometimes helpful for others to understand your intentions.

0 commentaires

2
votes

et code> et ou code> ont une précédente égale.

SELECT * FROM `Registrations` 
WHERE `Role` = "Attendee" AND `RegistrationStatus_ID` = "1" AND `DigSignature` IS NULL
    AND (`Event_ID` = "147" OR `Event_ID` = "155" OR `Event_ID` = "160")


0 commentaires