Deuxième requête SELECT si le premier SELECT renvoie 0 lignes

Je suis en train d'accélérer l'exécution d'un script PHP et je suis actuellement en train de pousser certains PHP logique dans la base de données Mysql domaine de la chose. Est-il possible de faire une autre requête select si la première instruction Select ne renvoie aucune ligne, ou le nombre de zéro ?

En gardant à l'esprit que la première requête à exécuter en premier, et le second devrait seulement être activée que si le premier retourne un ensemble vide.

SELECT * FROM proxies WHERE (A='B') || SELECT * FROM proxies WHERE (A='C')

Pour ces 2 requêtes, j'ai ce code, mais il semble fonctionner à chaque requête, en deux fois (une fois pour les compter, et une fois de retour). Est-il une meilleure façon de le faire?

IF (SELECT count(*) FROM proxies WHERE A='B')>0
    THEN SELECT * FROM proxies WHERE A='B'
ELSEIF (SELECT count(*) FROM proxies WHERE A='C')>0
    THEN SELECT * FROM proxies WHERE A='C'
END IF
Vous êtes de compliquer à l'excès. Le count(*) sont un gaspillage. Simplement SELECT * FROM proxies WHERE A='B' premier. Si vous obtenez zéro lignes de retour, puis le problème SELECT * FROM proxies WHERE (A='C').
BTW: je crois que vous avez une faute de frappe dans la question. La dernière requête devrait prendre fin en WHERE A='C', au lieu de WHERE A='B'.
Vous aviez raison au sujet de la typo, thnx
Combien de lignes sont possibles pour la première SÉLECTIONNEZ - 1 ou plus?
Sur 0-6000

OriginalL'auteur Evan | 2014-12-08