Home Page
Articoli
Tips & Tricks
News
Forum
Archivio Forum
Blogs
Sondaggi
Rss
Video
Utenti
Chi Siamo
Contattaci
Username:
Password:
Login
Registrati ora!
Recupera Password
Home Page
Stanze Forum
SQL Server 2000/2005/2008, Express, Access, MySQL, Oracle
Select con condizione
mercoledì 28 febbraio 2007 - 15.06
Elenco Threads
Stanze Forum
Aggiungi ai Preferiti
Cerca nel forum
StefanoLep
Profilo
| Senior Member
248
messaggi | Data Invio:
mer 28 feb 2007 - 15:06
Ciao a tutti, ho il seguente problema: ho una tabella in cui ci sono i movimenti di magazzino, diciamo che su ogni riga oltre alla quantità movimentata c'è il tipo documento, io voglio sapere la quantità di merce inviata tenendo presente che se il tipo documento è un DDT la quantotà la devo prendere positiva, se il invece il tipo è un reso la quantità la devo prendere col segno meno...
Come faccio a scrivere questa query con una condizione sul tipo documento?
bluland
Profilo
| Guru
1.149
messaggi | Data Invio:
mer 28 feb 2007 - 16:48
CIAO,
che db usi? potresti darci l'esempio di tabella con qualche insert?
saluti
--------------------
Vincenzo PESANTE
StefanoLep
Profilo
| Senior Member
248
messaggi | Data Invio:
mer 28 feb 2007 - 16:54
Il DB è SQL Server 2000 simulo 3 record
-
tipodoc qta
DDT 10
RESO 5
DDT 20
-
la somma di qesti dovrebbe darmi 25 (+10 -5 +10), come faccio una select che mi prenda QTA col segno "-" se il tipo doc è RESO? Attualmente il risultato è 35 perchè il segno è sempre "+"
sanbiz
Profilo
| Senior Member
208
messaggi | Data Invio:
mer 28 feb 2007 - 17:01
> io voglio sapere
>la quantità di merce inviata tenendo presente che se il tipo
>documento è un DDT la quantotà la devo prendere positiva, se
>il invece il tipo è un reso la quantità la devo prendere col
>segno meno...
Non ci hai detto che database stai usando.
Ti faccio un esempio per SQL Server:
use tempdb
set nocount on
-- Creo la tabella
create table Magazzino
(
ID int identity,
Tipo varchar(5),
Qta int
)
-- Inserisco alcuni record d'esempio
insert into Magazzino(tipo, qta) values('ddt',10)
insert into Magazzino(tipo, qta) values('ddt',65)
insert into Magazzino(tipo, qta) values('ddt',15)
insert into Magazzino(tipo, qta) values('ddt',20)
insert into Magazzino(tipo, qta) values('reso',12)
-- Faccio la select
select
sum(
case
when tipo = 'ddt' then qta
when tipo = 'reso' then -qta
else qta
end
) as Qta
from magazzino
/* Output
Qta
-----------
98
*/
-- Elimino la tabella
drop table Magazzino
--
Sandro Bizioli
http://blogs.dotnethell.it/sandro/
StefanoLep
Profilo
| Senior Member
248
messaggi | Data Invio:
mer 28 feb 2007 - 17:05
Grazie non riuscivo a scrivere correttamente la condizione
Torna su
Stanze Forum
Elenco Threads
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?
Dopo esserti registrato potrai chiedere
aiuto sul nostro
Forum
oppure aiutare gli altri
Consulta le
Stanze
disponibili.
Registrati ora !