Je voudrais faire une seule requête sur une table sans utiliser UNIONComment puis-je écrire cette requête MYSQL sans utiliser UNION?
Voici les deux requêtes que j'ai besoin de combiner.
SELECT field1, field2, field3 FROM table1 WHERE field4 != 'condition1' AND feild3 >= 'condition2' ORDER BY field3 ASC LIMIT 20;
SELECT field1, field2, field3 FROM table1 WHERE field4 != 'condition1' AND feild3 < 'condition2' ORDER BY field3 DESC LIMIT 5;
Fondamentalement, je suis en train d'obtenir 20 dossiers au-dessus d'un certain enregistrement (commandé par field3, pas l'ID), et 5 enregistrements ci-dessous, sans saisir le dossier lui-même dans les résultats.
L'astuce est, je ne peux pas utiliser UNION.
Si vous utilisez> = et <=, vous pouvez obtenir une ligne en double. Est-ce ce que tu veux? –
Est-ce que ce sont les devoirs? Quelle autre raison auriez-vous pour interdire l'union? –
@ St.Woland: Vous avez raison. J'ai édité l'exemple pour montrer> = et <. @ Jørn: C'est assez drôle. En fait, j'essaie de construire une requête dans le framework CakePHP, et UNION n'est pas supporté nativement. Je suis en train de mettre à jour une ancienne application héritée qui a simplement exécuté deux requêtes distinctes. – Stephen