Je travaille sur la demande de type média social dans lequel les entreprises téléchargeront des messages du côté administrateur et tous les utilisateurs peuvent voir les messages sur le côté de l'utilisateur. Maintenant, j'ai ajouté une option dans les paramètres utilisateur où l'utilisateur peut définir les messages de la société qu'ils souhaitent voir en haut, et je stocke la liste des identifiants de la société et de l'ID utilisateur dans une table de préférence code> de la valeur code>, tout en récupérant Les messages que je veux commander par des messages basés sur les identifiants de la société que j'ai stockés pour cet utilisateur particulier.
Après avoir recherché, j'ai trouvé cela exemple : p> mais dans cet exemple, ils ont défini des valeurs codées dans Commandez par décodage Mais je veux le faire de manière dynamique à l'aide de la liste des identifiants de la société que j'ai stockés dans la préférence code> code>.
Comment puis-je atteindre la commande dynamique de décodage? P> p>
3 Réponses :
Utiliser Préférence Code> Tableau dans
Commander par CODE> AS:
SQL> SELECT *
2 FROM preference
3 ORDER BY sort_id;
SORT_ID JOB
---------- ---------
1 PRESIDENT
2 MANAGER
3 ANALYST
4 SALESMAN
5 CLERK
SQL> SELECT e.ename, e.job
2 FROM emp e
3 ORDER BY (SELECT p.sort_id
4 FROM preference p
5 WHERE p.job = e.job);
ENAME JOB
---------- ---------
KING PRESIDENT
CLARK MANAGER
BLAKE MANAGER
JONES MANAGER
FORD ANALYST
SCOTT ANALYST
WARD SALESMAN
MARTIN SALESMAN
ALLEN SALESMAN
TURNER SALESMAN
JAMES CLERK
ADAMS CLERK
MILLER CLERK
SMITH CLERK
14 rows selected.
SQL>
Rejoignez les tables. (Faire un rejoindre code> Juste au cas où un travailleur a un travail inconnu / non coffret.)
select w.WorkerName, w.WorkerJob
from Worker w
left join preferences p on w.WorkerJob = p.WorkerJob
order by p.sort_order
Vous pouvez utiliser la table code> de préférence > dans la jointure extérieure et utilisez le code code> comme suit:
La redéfinition des structures de table aurait plus de sens. Tenez les données entières pour les travailleurs au lieu des chaînes et connectez ces valeurs entière en ajoutant une contrainte de clé étrangère en référençant la colonne clé principale d'une table d'appartements parent (par exemple,
Préférences CODE> comme indiqué dans les réponses) remplacées par ces valeurs tels que
1, 'pêcheur', 2, "médecin" ... code>.