2010-08-06 3 views
0

Je veux faire une requête qui donnera le résultat sur commande en utilisant deux colonnes. J'ai fait une requête comme celle-ci.Comment faire la commande Order by pour deux champs dans une seule requête et un champ doit DESC et un champ doit ASC en utilisant Mysql?

select 
    el.*, 
    lb.LabName,lb.LabType, 
    lb.LabDescription 
from encounterlab el 
INNER JOIN 
    labs lb 
    ON 
    lb.LabType=el.LabType 
where 
    PatientAcctNo=4 ORDER BY el.DataOfService,lb.LabName DESC 

Il donne la results.But Mon but est de savoir si dans les DataOfService contiennent la même date que je veux faire l'ordre selon la LabName et cela devrait être ASC

Répondre

3

vous pouvez spécifier l'ordre de chaque champ unique dans l'ordre par la déclaration

ORDER BY field1 DESC, field2 ASC 
+0

Plus doute comme Merci à zolex.Working Fine.One ce que nous pouvons commander n nombre de colonnes à droite? – svk

+0

oui vous pouvez le faire avec autant de col que vous voulez –

0

Si je vous comprends bien, vos commandes de requête en cours dans le sens opposé à celui que vous voulez (pour les deux colonnes!). La commande ascendant (ASC) est implicite et vous avez toujours une direction par colonne que vous commandez. Ainsi, votre exemple:

ORDER BY el.DataOfService,lb.LabName DESC 

est le même que:

ORDER BY el.DataOfService ASC, lb.LabName DESC 

donc ce que vous voulez est ceci:

ORDER BY el.DataOfService DESC, lb.LabName 
Questions connexes