Bonjour j'ai besoin d'un coup de main pour faire une requête utilisant des jointures. J'utilise SQL server 2008 express.
Mon application exploite 4 tables qui sont :
HostQueue => contient un ID (HQID), le nombre de téléchargements, et HOST l'hote (free.fr ...)
HostDictionnary => contient en clef secondaire HQID et un champ LINK qui contient des url
WaitQueue => contient des "pointeurs" vers HostDictionnary LAST est un champs Datetime, HID clef secondaire
ReadyQueue => contient des "pointeurs" champs HID
Je dois écrire une requete qui retoursne des LINK (table HostDictionnary), mais seulement si le HID n'existe pas dans la WaitQueue et si le Hid Existe dans la ReadyQueue et en choisissant le HQID (HostQueue) ayant la valeur NUMBEROFDOWNLOAD la plus basse.
Après beaucoup d'essaie je suis arrivé à cette requete mais elle ne fonctionne pas, je ne connais pas très bien le SQL:
Merci de votre aide
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 FUNCTION SelectHost () RETURNS TABLE AS RETURN (SELECT TOP(20) A.LINK "LINK", A.HQID "HQID" FROM HostDictionnary A JOIN HostQueue AS Q ON A.HQID = Q.HQID AND ReadyQueue AS B ON B.HID = A.HQID WHERE MIN(Q.NUMBEROFDOWNLOAD)![]()
Partager