Torna indietro   Hardware Upgrade Forum > Software > Programmazione

L'innovazione in Europa è a un bivio. Ne parliamo con Plug and Play
L'innovazione in Europa è a un bivio. Ne parliamo con Plug and Play
Si dice spesso che l'Europa rimanga indietro rispetto agli Stati Uniti e alla Cina, in particolare per quanto riguarda l'ambito tecnologico. Ma è davvero così? Per capire meglio la situazione sia in Italia, sia più in generale nel Vecchio Continente, abbiamo intervistato Tommaso Maschera di Plug and Play Italia in occasione dell'Italy Summit 2025
Test Stiga HT 300e Kit, tagliasiepi con doppia batteria per dire addio alla benzina
Test Stiga HT 300e Kit, tagliasiepi con doppia batteria per dire addio alla benzina
Completiamo la cura del nostro giardino con il tagliasiepi, e ancora una volta abbiamo provato un prodotto di Stiga. Il kit con doppia batteria si conferma campione di durata, oltre che di qualità
ASUS ROG Zephyrus G14: il notebook ibrido molto potente
ASUS ROG Zephyrus G14: il notebook ibrido molto potente
Dimensioni compatte che si abbinano ad una elevatissima potenza di calcolo, grazie al processore AMD Ryzen AI 9 HX 370 e alla scheda video NVIDIA GeForce RTX 5080: questo è il cuore di ASUS ROG Zephyrus G14, un notebook che garantisce prestazioni elevatissime con giochi e produttività personale ma che è anche facilmente trasportabile in ogni ambiente
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 27-05-2009, 12:44   #1
almaxy
Senior Member
 
L'Avatar di almaxy
 
Iscritto dal: May 2006
Messaggi: 883
[SQL Server] Piccolo aiuto Vista. Distinct e somme

Avrei bisogno di un aiuto, um po urgente
Devo creare una vista particolare ....... vado subito con un esempio..
Data la seguente Tabella (o vista)
AA BB CC DD EE
1 a b c 2
2 a b c 3
3 s f r 2
4 s f r 5
Come risultato avrei bisogno delle somme in base al ragguppamento di AA CC DD, spero di essermi spiegato, tutto in un unica vista.
Come di seguito ...
AA BB CC DD EE
1 a b c 2
2 a b c 3
. . . . 5
3 s f r 2
4 s f r 5
. . . . 7
GRAZIE MILLE A CHI MI AIUTERA'
__________________
Un giorno le macchine riusciranno a risolvere tutti i problemi, ma mai nessuna di esse potrà porne uno. (Albert Einstein)
Il calcolatore è straordinariamente veloce, accurato e stupido. L'uomo è incredibilmente lento, impreciso e creativo. L'insieme dei due costituisce una forza incalcolabile. (Albert Einstein)
almaxy è offline   Rispondi citando il messaggio o parte di esso
Old 27-05-2009, 12:56   #2
..::DAVE::..
Senior Member
 
L'Avatar di ..::DAVE::..
 
Iscritto dal: Nov 2006
Città: Mantova
Messaggi: 466
Quote:
Originariamente inviato da almaxy Guarda i messaggi
Avrei bisogno di un aiuto, um po urgente
Devo creare una vista particolare ....... vado subito con un esempio..
Data la seguente Tabella (o vista)
AA BB CC DD EE
1 a b c 2
2 a b c 3
3 s f r 2
4 s f r 5
Come risultato avrei bisogno delle somme in base al ragguppamento di AA CC DD, spero di essermi spiegato, tutto in un unica vista.
Come di seguito ...
AA BB CC DD EE
1 a b c 2
2 a b c 3
. . . . 5
3 s f r 2
4 s f r 5
. . . . 7
GRAZIE MILLE A CHI MI AIUTERA'
CREATE VIEW nome_tua_vista
as SELECT *,SUM(EE)
FROM nome_tua_tabella
GROUP BY AA,CC,DD

(questo in sql standard)
__________________
..::DAVE::.. è offline   Rispondi citando il messaggio o parte di esso
Old 27-05-2009, 13:44   #3
almaxy
Senior Member
 
L'Avatar di almaxy
 
Iscritto dal: May 2006
Messaggi: 883
Quote:
Originariamente inviato da ..::DAVE::.. Guarda i messaggi
CREATE VIEW nome_tua_vista
as SELECT *,SUM(EE)
FROM nome_tua_tabella
GROUP BY AA,CC,DD

(questo in sql standard)
GRAZIE 1000 ....
ma a me intessa anche che mi inserisca una nuova riga ogni qualvolta che effettua un raggruppamento ...
__________________
Un giorno le macchine riusciranno a risolvere tutti i problemi, ma mai nessuna di esse potrà porne uno. (Albert Einstein)
Il calcolatore è straordinariamente veloce, accurato e stupido. L'uomo è incredibilmente lento, impreciso e creativo. L'insieme dei due costituisce una forza incalcolabile. (Albert Einstein)
almaxy è offline   Rispondi citando il messaggio o parte di esso
Old 27-05-2009, 13:51   #4
..::DAVE::..
Senior Member
 
L'Avatar di ..::DAVE::..
 
Iscritto dal: Nov 2006
Città: Mantova
Messaggi: 466
Quote:
Originariamente inviato da almaxy Guarda i messaggi
GRAZIE 1000 ....
ma a me intessa anche che mi inserisca una nuova riga ogni qualvolta che effettua un raggruppamento ...
edit.
ho paura che nn si possa
__________________
..::DAVE::.. è offline   Rispondi citando il messaggio o parte di esso
Old 27-05-2009, 14:45   #5
gugoXX
Senior Member
 
L'Avatar di gugoXX
 
Iscritto dal: May 2004
Città: Londra (Torino)
Messaggi: 3691
Pronti

Questo il modo che mi sembra piu' efficiente, anche se forse un po' oscuro.
Codice:
SELECT aa,bb,cc,dd,SUM(ee) val
  FROM test
  GROUP BY dd,cc,bb,aa
  WITH ROLLUP
  HAVING GROUPING(bb)=0 AND GROUPING(cc)=0 AND GROUPING(dd)=0

Altrimenti puoi sempre provare con qualcosa di piu' standard tipo

Codice:
SELECT * FROM (
  SELECT aa,bb,cc,dd,ee FROM test
   UNION ALL
  SELECT NULL,bb,cc,dd,SUM(ee) 
    FROM test
    GROUP BY bb,cc,dd
) as tmp
ORDER BY bb,cc,dd,aa
__________________
Se pensi che il tuo codice sia troppo complesso da capire senza commenti, e' segno che molto probabilmente il tuo codice e' semplicemente mal scritto.
E se pensi di avere bisogno di un nuovo commento, significa che ti manca almeno un test.

Ultima modifica di gugoXX : 27-05-2009 alle 14:47.
gugoXX è offline   Rispondi citando il messaggio o parte di esso
Old 27-05-2009, 15:43   #6
almaxy
Senior Member
 
L'Avatar di almaxy
 
Iscritto dal: May 2006
Messaggi: 883
Quote:
Originariamente inviato da gugoXX Guarda i messaggi
Pronti

Questo il modo che mi sembra piu' efficiente, anche se forse un po' oscuro.
Codice:
SELECT aa,bb,cc,dd,SUM(ee) val
  FROM test
  GROUP BY dd,cc,bb,aa
  WITH ROLLUP
  HAVING GROUPING(bb)=0 AND GROUPING(cc)=0 AND GROUPING(dd)=0

Altrimenti puoi sempre provare con qualcosa di piu' standard tipo

Codice:
SELECT * FROM (
  SELECT aa,bb,cc,dd,ee FROM test
   UNION ALL
  SELECT NULL,bb,cc,dd,SUM(ee) 
    FROM test
    GROUP BY bb,cc,dd
) as tmp
ORDER BY bb,cc,dd,aa
grazie mille per l'aiuto il secondo va bene, solo che ti devo chiedere un altro piacere ....
se nella riga del totale è possibile mettere campi vuoti ad esclusione del totale, o meglio a fianco della quantità un scritta totale ....
è possibile?
grazie ancora
__________________
Un giorno le macchine riusciranno a risolvere tutti i problemi, ma mai nessuna di esse potrà porne uno. (Albert Einstein)
Il calcolatore è straordinariamente veloce, accurato e stupido. L'uomo è incredibilmente lento, impreciso e creativo. L'insieme dei due costituisce una forza incalcolabile. (Albert Einstein)
almaxy è offline   Rispondi citando il messaggio o parte di esso
Old 27-05-2009, 15:54   #7
gugoXX
Senior Member
 
L'Avatar di gugoXX
 
Iscritto dal: May 2004
Città: Londra (Torino)
Messaggi: 3691
E' possibile per entrambi i casi, ma...

Codice:
SELECT CASE WHEN GROUPING(aa)=0 THEN aa ELSE NULL END newaa,
       CASE WHEN GROUPING(aa)=0 THEN bb ELSE NULL END newbb,
       CASE WHEN GROUPING(aa)=0 THEN cc ELSE NULL END newcc,
       CASE WHEN GROUPING(aa)=0 THEN dd ELSE 'TOTALE' END newdd,
       SUM(ee) val
  FROM test
  GROUP BY dd,cc,bb,aa
  WITH ROLLUP
  HAVING GROUPING(bb)=0 AND GROUPING(cc)=0 AND GROUPING(dd)=0


SELECT CASE WHEN filt=1 THEN aa ELSE NULL END AA2,
	   CASE WHEN filt=1 THEN bb ELSE NULL END BB2,
       CASE WHEN filt=1 THEN cc ELSE NULL END CC2,
       CASE WHEN filt=1 THEN dd ELSE 'TOTALE' END DD2,
       ee
 FROM (
  SELECT 1 filt, aa,bb,cc,dd,ee FROM test
   UNION ALL
  SELECT 0 filt, NULL,bb,cc,dd,SUM(ee) 
    FROM test
    GROUP BY bb,cc,dd
) as tmp
ORDER BY bb,cc,dd,aa desc
Ma mi sembra tanto che tu stia cercando di pilotare l'SQL per questioni di reporting.
Non si dovrebbe fare.
L'SQL dovrebbe essere usato solo per estrarre le informazioni.

Un altro linguaggio ad alto livello o un tool di reportistica dovrebbero macinare i dati restituiti dall'SQL.

Altrimenti si capisce subito come al cambiare di anche solo una caratteristica di layout (es: Invertire prima con seconda colonna) occorre mettere di nuovo mano al database o alle query.
__________________
Se pensi che il tuo codice sia troppo complesso da capire senza commenti, e' segno che molto probabilmente il tuo codice e' semplicemente mal scritto.
E se pensi di avere bisogno di un nuovo commento, significa che ti manca almeno un test.

Ultima modifica di gugoXX : 27-05-2009 alle 15:57.
gugoXX è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


L'innovazione in Europa è a un bivio. Ne parliamo con Plug and Play L'innovazione in Europa è a un bivio. Ne ...
Test Stiga HT 300e Kit, tagliasiepi con doppia batteria per dire addio alla benzina Test Stiga HT 300e Kit, tagliasiepi con doppia b...
ASUS ROG Zephyrus G14: il notebook ibrido molto potente ASUS ROG Zephyrus G14: il notebook ibrido molto ...
DJI Mavic 4 Pro: sblocca un nuovo livello per le riprese aeree DJI Mavic 4 Pro: sblocca un nuovo livello per le...
Idrogeno verde in Europa: nuovi studi prevedono costi ben superiori alle aspettative Idrogeno verde in Europa: nuovi studi prevedono ...
La prima vera auto volante arriver&agrav...
Il cervello dietro il robot da 10 mila m...
Amazon sconti fuori controllo: Galaxy S2...
Nuovi auricolari ZE3000 SV e VR3000 Wire...
Sicurezza a rischio nell’automotive: ecc...
Solo 5,99 euro al mese: è tornata...
Hyundai Inster Cross, primo contatto: in...
SIAE contro Napster: lo scontro che ness...
Indiana Jones e l'Antico Cerchio, il pri...
Galaxy S25 Ultra a 999€ su Amazon con Ga...
Dalla Cina una soluzione per batterie im...
Apple WWDC 2025: sarà la vera riv...
AirPods 4 in offerta a partire da 128,99...
Duolingo, IA e utenti in rivolta, il CEO...
Capcom ha presentato Requiem, il nuovo c...
Chromium
GPU-Z
OCCT
LibreOffice Portable
Opera One Portable
Opera One 106
CCleaner Portable
CCleaner Standard
Cpu-Z
Driver NVIDIA GeForce 546.65 WHQL
SmartFTP
Trillian
Google Chrome Portable
Google Chrome 120
VirtualBox
Tutti gli articoli Tutte le news Tutti i download

Strumenti

Regole
Non Puoi aprire nuove discussioni
Non Puoi rispondere ai messaggi
Non Puoi allegare file
Non Puoi modificare i tuoi messaggi

Il codice vB è On
Le Faccine sono On
Il codice [IMG] è On
Il codice HTML è Off
Vai al Forum


Tutti gli orari sono GMT +1. Ora sono le: 14:53.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Served by www2v