Purement une question d'habitude, je croisEnvoyé par orafrance
![]()
Purement une question d'habitude, je croisEnvoyé par orafrance
![]()
surement... à ma décharge, je n'ai fait du SQL que sous Oracle... probablement que les personnes qui sont passées par SQL Server sont plus douées pour ce type d'écriture
D'ailleurs, je suis incapable de réécrire la requête de Yorglaa... si en plus on ajoute un ORDER BY dans une sous-requête c'est l'enfer![]()
Je pourrais te dire que ta requête est tellement incompréhensible qu'il est impossible de la traduire en quoique ce soit, mais je ne tomberai pas dans cette facilité :Envoyé par Yorglaa
PS là j'ai vraiment fais n'importe quoi, sans vérifier, moi non plus (mais c'est quand même ta requête)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 Select ... From T1 INNER JOIN ( Select T2.X , nvl(T4.Y, 0) From T2 INNER JOIN T3 ON T2.id = T3.id LEFT OUTER JOIN ( Select Distinct T4.id2, T4.Y From T4 ) T4 ON T2.id2 = T4.id2 Where T2.DateFrom = (Select max(TX.DateFrom) From T2 T2Bis Where T2Bis.id = T2.id ) And T4.N > 5 ) Z ON T1.X = T2.X Where Z.X = 2
PPS : à la fin le T1.X = T2.X est forcément faux(peut-être T1.X = Z.X), et je ne m'en suis aperçu qu'avec ma version, pas en lisant la tienne (mais ce n'est peut-être qu'une question d'habitude)
Moi aussi, je n'utilise SQLServer qu'épisodiquement, mais je n'ai jamais aimé le coup du (+), (je ne sais jamais où le mettre, moi non plusEnvoyé par orafrance
)
Mediat je le sens trop parti à nous faire un super tutoriel pour apprendre à faire du SQL au norme![]()
ahlà chapeau Mediat !
mais comme orafrance, je suis un pur produit du SQL Oracle... ceci explique certainement mes préférences !
malgrès tout, l'important est quand même de pouvoir "s'en sortir" des 2 façons...
mais bon tout comme les ambidextres, il y atout de même forcément une des 2 méthodes qui nous semblera plus simple...
probablement une question d'apprentissage initial...
Il n'empêche que le coup du tuto pour le SQL normé... ouaaaah ! ça le ferais grave !
Envoyé par orafrance
Envoyé par Yorglaa
![]()
Association de malfaiteurs : c'est puni par la loi, non ?
[Mode sérieux]
En fait, pour moi, l'important c'est de bien concevoir sa requête en terme de raisonnement ensembliste, après c'est toujours facile de transcrire, dans un idiome ou dans un autre, par contre dans cette phase de traduction du concept --> langage, j'ai toujours tendance à favoriser la lisibilité (celui qui n'a pas travaillé en TMA, sur des requêtes de bourrins ne peut pas comprendre ce que je veux direEnvoyé par Yorglaa
)
Pour le tuto sur le SQL normé, je pense que les articles de SQLPro répondent à ce besoin, par contre, je serais plus tenté par un tuto sur "les bonnes pratiques de l'écriture de requêtes", ce qui, pour moi, inclut le respect de la norme (autant que possible (il serait ridicule de se priver du CONNECT BY pour la seule raison que ce n'est pas normé)), mais va aussi vers quelques règles simple de disposition, d'indentation, de casse etc. Si il y a une demande, je ne suis pas opposé à l'idée de m'y coller![]()
[/Mode sérieux]
il y a toujours une demande
Perso, en TMA (enfin, maintenant c'était plutôt optimisation) j'aurais beaucoup de mal à maintenir la requête que tu nous as sortie
Remarque également qu'il n'y a pas de fonctions analytiques dans la norme non plus![]()
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager