0
votes

Temps de déplacement minimum

Affichage calory_id, source, destination et temps de voyage qui a du temps de déplacement minimum. Triez le résultat basé sur l'identifiant de la planification.

J'ai essayé ce code et il y a quelque chose qui manque de manquer dans ma requête car je reçois l'erreur.

 Voici le schéma de la requête xxx


2 commentaires

La requête elle-même est évidemment tort, mais - vous avez besoin d'aide pour temps de déplacement et posté modèle de système de gestion du collège ? Comment sont ces deux liés?


Oups..soly qui est par erreur..now j'ai téléchargé le bon schéma.


3 Réponses :


1
votes

presque correct. Vous avez oublié de définir le temps de déplacement minimum dans la clause WHERE.

SELECT   sh.schedule_id,
         sh.source,
         sh.destination,
         sh.duration as travel_time
FROM     schedule sh
WHERE    sh.duration = (select min(duration) from schedule) -- This is where the problem was.
ORDER BY sh.schedule_id;


0 commentaires

1
votes

Puis seule la colonne que ressemble à temps de déplacement est durée , son type de données est numéro . Que représente ce nombre? Minutes? Les heures? Quelque chose d'autre?

Quoi qu'il en soit, voici une option que vous pourriez envisager. Il "trie" durables (c.-à-d. "Temps de déplacement") à l'aide de la fonction analytique de rang une ligne (ou des lignes) dont la durée est minimale.

Avantage d'une telle approche est que vous devez numériser la table une seule fois; Si vous sélectionnez une durée minimale dans une sous-requête, puis utilisez son résultat pour rechercher des données qui vous intéressent, vous accédez à la même table deux fois, ce qui pourrait compter quand il y a de nombreuses lignes impliquées. Pour un petit réglage de données d'échantillon, vous remarquerez aucune différence.

Le calendrier CTE représente certaines données de test; Vous avez besoin de code qui commence à la ligne 6. xxx


3 commentaires

Tout va exploser, @robert. Boom! :) L'auteur sera obligé d'utiliser le rang au lieu de Row_Number. Corrigé, merci pour le commentaire!


Le code qui commence à partir de la ligne 6 ne passe qu'un seul cas de test


Je comprends ce que tu veux dire. N'hésitez pas à fournir votre cas de test afin de ne pas avoir à faire cela nous-mêmes.



0
votes

Je suppose qu'il n'y avait pas besoin de nom d'alias car vous accédez aux données de la même table.

code: xxx


0 commentaires