2010-10-15 4 views
2

La tâche consiste à renvoyer une requête 0 si aucune ligne ne doit être renvoyée si la condition est appliquée et 1 s'il doit y avoir plus de 0 lignes. De préférence, cette requête devrait être plus rapide que de simplement interroger la table avec la condition et limiter la requête avec 1 ligne dans le jeu de résultats.Comment vérifier qu'au moins une ligne est conforme à une condition (clause WHERE) dans MySQL?

+1

Cela ne va malheureusement pas être plus rapide. –

Répondre

2
select case 
     when exists (
      select * 
      from MyTable 
      where MyColumn = 23 
     ) then 1 
     else 0 
    end as RowsExist 
+0

'CHOISIR LE CAS QUAND EXISTE (CHOISIR 1 DE HNS_MSG_RCV_0) PUIS 'Y' ELSE 'N' FIN COMME RES:' Ne fonctionne pas: PL/SQL: ORA-00923: FROM mot-clé introuvable où prévu –

+0

@AmebaSpugnosa Puisque vous êtes en utilisant Oracle, pas MySQL, vous aurez probablement besoin d'ajouter «from dual» à la fin de la requête. – RedFilter

Questions connexes