Visualizza messaggio singolo
Vecchio 28-08-2005, 12.18.54   #1
Thor
Il re di bastoni
Top Poster
 
L'avatar di Thor
 
Registrato: 26-04-2001
Loc.: Milàn
Messaggi: 23.413
Thor promette bene
[MySQL] query complessa

ho due tabelle: VENDITE e PAGAMENTI
ognuna ha un campo id, e P ha anche id_vendita, che si riferisce a vendite.id

dunque il join si fa su vendite.id=pagamenti.id_vendita

Ora, uso un frontend per le query, MySQL Front. Non so se sia un bug di questo, ma una query non mi dà i risultati sperati.

mettiamo io abbia questa situazione:
Codice:
V	P
1
2	2
3
4
5	5
Questo corrisponde a 5 entrate in Vendite e a solo 2 in Pagamenti, occhio. (non esistono entrate null)
Vale a dire per le vendite 1, 3 e 4 NON ci sono pagamenti

Quel che vorrei, se possibile con un unica query, è proprio la tabella finale che vedete su: vale a dire tutte le vendite, con accanto i campi del pagamento se e solo se questo esiste.

Codice:
SELECT vendite.id, pagamenti.id_vendita FROM vendite, pagamenti WHERE vendite.id = pagamenti.id_vendita
UNION
SELECT vendite.id FROM vendite WHERE vendite.id NOT IN (SELECT id_vendita FROM pagamenti)
ORDER BY vendite.id
Questa query non mi produce risultati..
Dato che il mio SQL è un po' arrugginito..trovate errori?
Sapete ottimizzare la query?

Grazie!
___________________________________

Un giorno in cui voleva fare il cattivo, Mister Coniglietto sbirciò oltre la siepe e vide che l'orto del Contadino Fred era pieno di lattuga fresca e verde; Mister Coniglietto, invece, non era pieno di lattuga per niente. E ciò gli parve un'ingiustizia.
Sono un Vampiro! I am a Vampire!
Thor non è collegato   Rispondi citando