Discussione:
problema sql
(troppo vecchio per rispondere)
Suarez
2023-01-11 15:45:47 UTC
Permalink
Provo a scriverne qui così vedo se riesco fare il debug del problema.

Ho due tabelle tab1 e tab2.

La tab1 contiene le descrizioni dei codici prodotto ed è molto semplice, 2 campi:
- il codice prodotto (char 5);
- la descrizione del prodotto (char 35).

Tab1 contiene circa 30 record.

La tab2 contiene i dati di vendita degli agenti,
- codice agente (char 7);
- codice prodotto 1 (char 5);
- quantità 1 (integer);
- codice prodotto 2 (char 5);
- quantità 2 (integer);
- codice prodotto 3 (char 5);
- quantità 3 (integer).

Tab2 contiene un migliaio di record.

Voglio leggere tab2 in join con tab1 al fine di mostrare non i codice prodotto
ma la loro descrizione.

Voi come procedereste?
--
Questa email è stata esaminata alla ricerca di virus dal software antivirus Avast.
www.avast.com
Stefano Tassi
2023-01-11 18:17:59 UTC
Permalink
Post by Suarez
Provo a scriverne qui così vedo se riesco fare il debug del problema.
Ho due tabelle tab1 e tab2.
- il codice prodotto (char 5);
- la descrizione del prodotto (char 35).
Tab1 contiene circa 30 record.
La tab2 contiene i dati di vendita degli agenti,
- codice agente (char 7);
- codice prodotto 1 (char 5);
- quantità 1 (integer);
- codice prodotto 2 (char 5);
- quantità 2 (integer);
- codice prodotto 3 (char 5);
- quantità 3 (integer).
Tab2 contiene un migliaio di record.
Voglio leggere tab2 in join con tab1 al fine di mostrare non i codice
prodotto ma la loro descrizione.
Voi come procedereste?
a spanne...


select
t2.cdagente
, (select t1.descr from t1 where t1.cod=t2.cod1) as desc1
, t2.qta1
, (select t1.descr from t1 where t1.cod=t2.cod2) as desc2
, t2.qta2
, (select t1.descr from t1 where t1.cod=t2.cod2) as desc3
, t2.qta3
from t2

select
t2.cdagente
, t3.desc as desc1
, t2.qta1

, t4.desc as desc2
, t2.qta1

, t5.desc as desc3
, t2.qta1
ftom t2
left outer join tab1 t1 on t2.cod1=t1.cod
left outer join tab1 t2 on t2.cod1=t2.cod
left outer join tab1 t3 on t2.cod1=t3.cod
--
http://www.linkedin.com/in/stefanotassi

Programming today is a race between software engineers striving to
build bigger and better idiotproof programs, and the Universe trying
to produce bigger and better idiots. So far the Universe is winning.
(Rick Cook)
Suarez
2023-01-17 10:40:20 UTC
Permalink
Post by Stefano Tassi
select
t2.cdagente
, t3.desc as desc1
, t2.qta1
, t4.desc as desc2
, t2.qta1
, t5.desc as desc3
, t2.qta1
ftom t2
left outer join tab1 t1 on t2.cod1=t1.cod
left outer join tab1 t2 on t2.cod1=t2.cod
left outer join tab1 t3 on t2.cod1=t3.cod
Buona questa e ha anche ottime performance.
--
Questa email è stata esaminata alla ricerca di virus dal software antivirus Avast.
www.avast.com
Continua a leggere su narkive:
Loading...