Bonjour tout le monde,
En voyant la colonne ShipName dans la table dbo.Orders de Northwind, pour �tablir le poids command� par client il peut �tre tentant de s'y prendre comme �a :
Mais pas de bol, ALFKI est r�parti sur deux lignes, car il y a Afreds et Alfred's.
Code : S�lectionner tout - Visualiser dans une fen�tre � part
1
2
3 SELECT CustomerID, ShipName, Sum(Freight) AS [Sum Freight] FROM dbo.Orders GROUP BY CustomerID, ShipName
<TABLE>
<row>
<col>CustomerID</col><col>ShipName</col><col>Sum Freight</col>
</row>
<row>
<col>ALFKI</col><col>Alfreds Futterkiste</col><col>29,46</col>
</row><row>
<col>ALFKI</col><col>Alfred's Futterkiste</col><col>196,12</col>
</row>
</TABLE>
Mais euh ... En bas de la page de saisie du forum, il y a pourtant �crit que les balises BB sont activ�es ? Elles ne sont pas bonnes, mes balises ?
Elles ressemblent � ce que j'ai trouv� l� :
https://easy-design.net/wiki/bbcode-faire-un-tableau
Et � propos pour passer de la sortie SSMS au tableau BB j'ai appliqu� la m�thode "marteau-burin". Existe-t-il plus efficace, qu'on n'ait pas besoin de programmer soi-m�me ?
Je serais tent� de dire que celui qui a cr�� la base NORTHWIND ne savait pas que le nom de client, �a se met dans la table client, et de r�diger plut�t la requ�te comme �a :
Et �a donne le m�me tonnage pour ALFKI, mais sur une seule ligne. Vu le succ�s de la d�monstration pr�c�dente, je vais m'abstenir.
Code : S�lectionner tout - Visualiser dans une fen�tre � part
1
2
3
4
5
6
7 SELECT dbo.Orders.CustomerID, COUNT(dbo.Orders.CustomerID) AS NbCmd, SUM(Freight) AS [SUM FREIGHT], dbo.Customers.CompanyName FROM dbo.Orders JOIN dbo.Customers ON dbo.Orders.CustomerID = dbo.Customers.CustomerID GROUP BY dbo.Orders.CustomerID, dbo.Customers.CompanyName
En s'y prenant comme �a, il ne me semble pas qu'il y ait un inconv�nient � mettre deux champs pour le groupage ?
***
Au fait il y a quelque chose qui m'intrigue avec cette requ�te.
J'ai demand� � SSMS de la sauvegarder comme "Commandes par client.sql".
Bon, dans un nouvel onglet j'ouvre ce fichier, �a m'affiche bien les commandes par client.
Ce qui m'intrigue, c'est que le fichier comporte neuf octets : un saut de ligne, un espace, et trois autres sauts de ligne. Et c'est tout.
Et si je mets un guillemet � la place de l'espace, on ne trouve plus les enregistrements.
C'est quoi, de la transmission de pens�e ?
Partager