Query Che non funziona.

venerdì 24 ottobre 2014 - 12.53
Tag Elenco Tags  Access (.mdb)  |  Office 2010  |  VBScript

softdream Profilo | Newbie

Ciao a tutti.
Premessa...
Access 2010 - windows 7

Ho un problema con una query e non riesco a capire come risolverlo.

Faccio l'esempio
2 tabelle
Articoli e descrizioni la prima tabella contiene dei prodotti
la seconda tabella contiene le descrizioni in varie lingue dove lingua è un codice 1 italiano 2 Inglese ecc. ecc.
IMPORTANTE: Può darsi che la descrizione non ci sia per un prodotto o che ci sia ma solo in una lingua o comunque non in tutte.

1°tabella
Codice
Descrizionebreve

2°Tabella
ID
Codice
Lingua
Descrizione

Voglio creare una query che mi visualizzi la tabella 1 e la tabella 2 specificando una lingua. quindi mettendo un criterio su Lingua

Mi capita questo.
Se non esiste nessuna lingua per un codice il prodotto nella query di selezione compare.
Se esiste una descrizione, ma è diversa dalla lingua che sto filtrando io il prodotto non mi compare.
Questo succede anche mettendo come criterio es: ( 1 and Is Null) piuttosto che ( 2 and is Null)

Dove sbaglio ?
Come posso risolvere ?

grazie

Enrico Pietrobon

HolidaySoft.it Profilo | Junior Member

Ciao,
ipotizzando queste tabelle:

TB_A CODICE DESCR AA AA_DESCR BB BB_DESCR CC CC_DESCR TB_B ID CODICE LINGUA DESCR 1 AA 1 AA_1 2 AA 2 AA_2 3 BB 1 BB_1 4 CC 1 CC_1 5 CC 2 CC_2 6 CC 3 CC_3

con questa query
SELECT A.CODICE, B.DESCR FROM TB_A A, TB_B B WHERE A.CODICE=B.CODICE AND B.LINGUA=1

estrai tutti i codici e relativa descrizione dove la lingua è 1

Di cosa hai bisogno ulteriormente?

Ciao
Mik

http://www.HolidaySoft.it - Gestionali, Database, SitiWeb
http://www.GarganoSapori.it - Olio ExtraVergine del Gargano
http://www.osteriaoristorante.it - Crea la Vetrina per il tuo Ristorante

softdream Profilo | Newbie

Appunto...
Il tuo esempio è perfetto...

e infatti se inserisci come lingua 1 vedi tutti e due i campi...
Mentre se inserisci come Lingua 2 vedi solo il campo AA

Quello che vorrei ottenere io è vedere tutti e due i campi ma nella descrizione della lingua non deve comparire nulla...

Se i campi nella tabella A sono 20 la query deve mostrarmi 20 Campi che ci sia o no la descrizione della lingua.

Comunque grazie davvero per il tuo interessamento
Enrico Pietrobon

HolidaySoft.it Profilo | Junior Member

Prova:

SELECT A.CODICE, B.DESCR FROM TB_A A LEFT OUTER JOIN (SELECT * FROM TB_B WHERE LINGUA=1) B
ON A.CODICE=B.CODICE

Ciao
Mik
http://www.HolidaySoft.it - Gestionali, Database, SitiWeb
http://www.GarganoSapori.it - Olio ExtraVergine del Gargano
http://www.osteriaoristorante.it - Crea la Vetrina per il tuo Ristorante

softdream Profilo | Newbie

Grandissimo.....

Grazie Mille.
Enrico Pietrobon

HolidaySoft.it Profilo | Junior Member

Grazie!
http://www.HolidaySoft.it - Gestionali, Database, SitiWeb
http://www.GarganoSapori.it - Olio ExtraVergine del Gargano
http://www.osteriaoristorante.it - Crea la Vetrina per il tuo Ristorante
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-2025
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5