begin process at 2012 05 27 01:10:44
  Trouver un code source :
 
dans
 
Accueil > Forum > 

SQL

 > 

SQL Server, MSDE, SQL Express

 > 

Requêtes

 > 

Vue sql server 2008


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Vue sql server 2008

mardi 21 décembre 2010 à 12:35:51 | Vue sql server 2008

mbagiella

Bonjour à tous,

J'ai une table des ventes avec comme colonne :

Pays, Produit, Année, Mois, Qté

Je voudrais faire une vue pour avoir comme colonne :

Pays, Produit, Total Qté 2010, Total Qté 2009, écart 2010-2009, écart en %, moyenne de qté.

J'arrive a faire une vue avec les total pour 2010 mais j'arrive pas à intégrer aussi le 2009.

Voici ma vue pour intégrer Total Qté 2010 :

SELECT dbo.country.country, dbo.product.code, SUM(dbo.sales.quantity) AS [QTY 2010]
FROM dbo.country
INNER JOIN
dbo.sales ON dbo.country.id = dbo.sales.country_id
INNER JOIN
dbo.product ON dbo.sales.product_id = dbo.product.id
GROUP BY dbo.country.country, dbo.product.code, dbo.sales.year
ORDER BY dbo.country.country, dbo.product.code, MAX(dbo.sales.month)

Merci

jeudi 23 décembre 2010 à 09:53:46 | Re : Vue sql server 2008

Robert33

Membre Club

Bonjour
essaie ça ...
mais je ne garantis pas les performances

Code sql :

SELECT  Country.Country, 
  product.Code, 
  SUM(sales_1.quantity) AS [QTY 2009], 
  SUM(sales.quantity) AS [QTY 2010], 
  SUM(sales.quantity - sales_1.quantity) AS [Ecart 2009-2010], 
  AVG(sales_1.quantity) AS [moy 2009], 
  AVG(sales.quantity) AS [moy 2010], 
  cast (100* CAST ( SUM(sales_1.quantity) AS decimal(10,2)) / (select sum(sales.quantity) from sales where (sales.[year] = 2010)) AS decimal(10,2))   AS [pourcent 2009],
  cast (100* CAST ( SUM(sales.quantity) AS decimal(10,2)) / (select sum(sales.quantity) from sales where (sales.[year] = 2009)) AS decimal(10,2))   AS [pourcent 2010]
FROM Country 
 INNER JOIN sales ON Country.id = sales.country_id 
 INNER JOIN product ON sales.product_id = product.id 
 INNER JOIN sales sales_1 ON product.id = sales_1.product_id AND Country.id = sales_1.country_id

WHERE (sales.[year] = 2010) AND (sales_1.[year] = 2009)
GROUP BY Country.Country, product.Code, product.id
ORDER BY Country.Country, product.Code


Bob.
C# is amazing, enjoy it!
jeudi 23 décembre 2010 à 09:56:43 | Re : Vue sql server 2008

Robert33

Membre Club
ouups, une petite erreur dans un Where



Code sql :
SELECT  Country.Country, 
  product.Code, 
  SUM(sales_1.quantity) AS [QTY 2009], 
  SUM(sales.quantity) AS [QTY 2010], 
  SUM(sales.quantity - sales_1.quantity) AS [Ecart 2009-2010], 
  AVG(sales_1.quantity) AS [moy 2009], 
  AVG(sales.quantity) AS [moy 2010], 
  cast (100* CAST ( SUM(sales_1.quantity) AS decimal(10,2)) / (select sum(sales.quantity) from sales where (sales.[year] = 2009)) AS decimal(10,2))   AS [pourcent 2009],
  cast (100* CAST ( SUM(sales.quantity) AS decimal(10,2)) / (select sum(sales.quantity) from sales where (sales.[year] = 2010)) AS decimal(10,2))   AS [pourcent 2010]
FROM Country 
 INNER JOIN sales ON Country.id = sales.country_id 
 INNER JOIN product ON sales.product_id = product.id 
 INNER JOIN sales sales_1 ON product.id = sales_1.product_id AND Country.id = sales_1.country_id

WHERE (sales.[year] = 2010) AND (sales_1.[year] = 2009)
GROUP BY Country.Country, product.Code, product.id
ORDER BY Country.Country, product.Code



C# is amazing, enjoy it!


Cette discussion est classée dans : vue, dbo, product, country, sales


Répondre à ce message

Sujets en rapport avec ce message

Requête FTS sur vue. [ par gillou1664 ] Bonjour tout le monde.Bon, je suis pas très bon en SQL et j'ai un petit soucis (enfin gros :p) : J'essaie d'utiliser une fonction de recherche de text demande de l'aide sur une requete ! [ par tahtouh ] Bonjours  ,     j'arrive pas a trouver une requete  sql qui peu me servire sur  ce cas  :j ai deux table transaction et client je  veux  avoir la somm [SQL Server] Exécution procédure stockée avec paramètre [ par lost0 ] Bonjour Tout le monde, En fait cela fait deux jours que je cherche une solution mais je suis toujours bloqué .j'ai créé une procédure stockée avec Requête de débutant... [ par HWO ] Bonjour, Je viens d'installer SQL SERVEUR 2008 EXPRESS + sqlManagement studio et je bloque sur l'écriture de la première requête. J'ai créé un petite MySQL et gestion des vues [ par LordBob ] Bonjour a tous,voila  j'aurais une question spécifique MySQL. En fait j'aimerais savoir comment sont gérer les vues dans MySQL.Par exemple je créé la Auto jointure assez complexe [ par plopinou ] Bonjour a tous, Je vais essaye d'etre le plus claire possible sur mon probleme. J'ai une table test, avec 3 champs : product_id, champs_name, value a jointure et requete [ par erosplus ] voici ma requête ci dessous peut on faire des jointure a droite ou a gaucheselectdistinct b<fo Granularité de vérou dans les MAJ de vue indexé [ par Malkuth ] Bonjours, voilà le probléme : une table Ta : (id int identity, etat tinyint) ~40.000 rows une table Tb : (id int identity, refTa int, status tin Petit pb de requette [ par cboulas ] Salut, Voilà, j'ai une requette que j'éxécute dans l'explorateur SQL et qui fonctionne très bien. Or dès que je met cette même requette dans un trava manipulation des dates [ par sparo83 ] Bonsoir à vous, je travail sous oracle 10g en manioulant les entrepots de données et mon probleme est le suivant : j'ai une vue matérialisée 'temps'


Nos sponsors


Sondage...

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 3,292 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales