QUERY LEFT JOIN CON DIFFERENZA

venerdì 29 gennaio 2010 - 22.33

Poseidon Profilo | Newbie

CIAO A TUTTI:
IL PROBLEMA E' SEMPLICE HO DUE TABELLE, LA TABELLA 1 CONTIENE LE COLONNE NUMERO ORDINE, CODICE_PRODOTTO E QUANTITA';
LA SECONDA TABELLA CONTIENE LE COLONNE NUMERO BOLLA, CODICE PRODOTTO, QUANTITA' E NUMERO ORDINE.
LE DUE COLONNE NUMERO ORDINE SONO RELAZIONATE CON UN LEFT JOIN.
NELLA QUERY CHE VADO A CREARE CI METTO ANCHE LA COLONNA RESIDUO CHE E' DATA DALLA DIFFERENZA TRA LE DUE COLONNE QUANTITA'.

IN PRATICA A ME INTERESSA FARE UNA QUERY IN CUI SIA POSSIBILE VISUALIZZARE I PRODOTTI ORDINATI ANCORA DA CONSEGNARE.

COME FACCIO???

lbenaglia Profilo | Guru

>COME FACCIO???

Ciao Dario,

Che DBMS utilizzi?
Posta un esempio completo con la struttura delle tabelle (CREATE TABLE), alcune righe di prova (INSERT INTO) ed il result set finale che intendi ottenere con quei dati.

Ciao!
--
Lorenzo Benaglia
Microsoft MVP - SQL Server
http://blogs.dotnethell.it/lorenzo/
http://italy.mvps.org

Poseidon Profilo | Newbie

Ciao scusa la superficialità;
Il db è in ACCESS 2007 (ebbene si sono un principiante) in pratica il mio problema è questo: ho due tabelle BOLLE e ORDINI. La tabella ORDINI è composta dai campI: NUMERO_ORDINE; PRODOTTO; QUANTITA;
La tabella BOLLE è composta dai campi: NUMERO_BOLLA; PRODOTTO; QUANTITA; NUMERO_ORDINE;
La query che mi interessa creare si chiama RESIDUO e deve dirmi quanti prodotti ordinati sono ancora da consegnare.
Si comporrà quindi del campo NUMERO_ORDINE; PRODOTTO; QUANTITA; ma sarà uguale a tutti i prodotti ordinati meno i prodotti consegnati;
Bisogna considerare poi che può succedere che i prodotti consegnati non siano stati ordinati precedentemente e quindi questi non rientreranno nella differenza.

La query che ho provato a scrivere è questa:
SELECT BOLLE.NUMERO_ORDINE, ORDINI.PRODOTTO, [ORDINI]![QUANTITA]-[BOLLE]![QUANTITA] AS RESIDUO FROM ORDINI LEFT JOIN BOLLE ON ORDINI.NUMERO_ORDINE = BOLLE.NUMERO_ORDINE;

ma non funziona come vorrei.

Grazie davvero per avermi risposto non ci speravo.

Ciao.

lbenaglia Profilo | Guru

>Grazie davvero per avermi risposto non ci speravo.
LOL, e perché non ci speravi?
Putroppo a parole è difficile spiegarsi e capire a fondo il problema.
Allega l'mdb e riporta il result set (le righe!) che devono essere restituire dalla query che vorresti scrivere in base ai dati presenti nelle tabelle.

Ciao!
--
Lorenzo Benaglia
Microsoft MVP - SQL Server
http://blogs.dotnethell.it/lorenzo/
http://italy.mvps.org
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 !
Copyright © dotNetHell.it 2002-2017
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5