PDA

View Full Version : Chissà se lo sapete risolvere...


pippo985
23-04-2002, 18:19
Ciao a tutti ho il seguente problema. :( :( :(

Da una tabella mi ritrovo i seguenti dati

Q. Descrizione
12 Pere Blu
1 Pere Verdi
10 Mele Blu
1 Mele Verdi

Ora devo fare in modo che con una query la quantità di 'Pere Blu' venga addizionata a quella di 'Pere Verdi'. Stessa cosa per 'Mele Blu', addizionata a 'Mele verdi'. Il risultato dovrà essere il seguente:

Q. Descrizione
13 Pere Verdi
11 Mele Verdi

E' fattibile tutto ciò? :confused: :confused: :confused:

Ringrazio anticipatamente tutti coloro che mi rispoderanno.

tas
23-04-2002, 19:27
Suppongo che la tabella si chiami "Frutti" e abbia questi due campi: "Quantità" e "Descrizione".

In generale, per poter sommare insieme le quantità, devi poter raggruppare i record secondo il campo "Descrizione".
Ma tu vorresti sommare insieme record aventi descrizione diversa: per esempio "Mele Blu" con "Mele verdi".

Soluzione 1: aggiungi alla tabella un campo chiamato "Categoria", con il quale specifichi se il record usa "Mele" o "Pere". In questo modo puoi raggruppare per questo campo:

SELECT Sum(Frutti.Quantità) AS Totale, Frutti.Categoria FROM Frutti GROUP BY Frutti.Categoria

Soluzione 2: crea un campo calcolato nella query (Radice), che vada ad estrarre dal campo "Descrizione" la prima parte del nome (Mele o Pere) e poi raggruppa per questo campo:

SELECT Sum(Frutti.Quantità) AS Totale, Left$([Descrizione],4) AS Radice FROM Frutti GROUP BY Left$([Descrizione],4)

cionci
23-04-2002, 20:38
Certo che chi ha progettato quella base di dati non aveva certo fatto la teoria delle basi di dati ;) Il DB non è nemmeno in 1NF...

pippo985
24-04-2002, 10:41
Grazie per le risposte che mi avete dato.

Cmq ho risolto ripensandoci in un momento di tranquillità. E' bastano usare la decode nella prima parte della query per estrarre una sola descrizione ed una decode nella clausola group by inserendo le stesse descrizioni della decode predente.


Ciao.