Contare ID tra varie tabelle

domenica 23 novembre 2008 - 16.39

FedericoC Profilo | Junior Member

Ciao,

Stavo provando a fare una query per verificare se un determinato ID è presente in 3 tabelle differenti, l'unica cosa che voglio sapere è se quell'ID è presente almeno una volta nelle tabelle, senza dover far una query per ogni tabella a cui devo cercare..

Ho provato con questa query:

SELECT (SUM(vendite.id)+ SUM(ordini.id) +SUM(preventivi.id)) FROM vendite, ordini, preventivi WHERE vendite.id_cantiere=781 OR ordini.id_cantiere=781 OR preventivi.id_cantiere=781 GROUP BY vendite.id, ordini.id, preventivi.id

Però non mi trova mai nessun dato, naturalemnte id_cantiere=781 è presente 1 volta nella tabella VENDITE...

Qualche soluzione?

lbenaglia Profilo | Guru

>Stavo provando a fare una query per verificare se un determinato
>ID è presente in 3 tabelle differenti, l'unica cosa che voglio
>sapere è se quell'ID è presente almeno una volta nelle tabelle,
>senza dover far una query per ogni tabella a cui devo cercare..

Ciao Federico,

Che DBMS utilizzi?
In SQL Server potresti adottare una soluzione simile a questa:

IF EXISTS( SELECT id_cantiere FROM vendite WHERE id_cantiere = 781 UNION SELECT id_cantiere FROM ordini WHERE id_cantiere = 781 UNION SELECT id_cantiere FROM preventivi WHERE id_cantiere = 781 ) BEGIN ... END

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

FedericoC Profilo | Junior Member

Ops...

Scusa mi sono dimenticato di specificare il database, MySql 5

lbenaglia Profilo | Guru

>Scusa mi sono dimenticato di specificare il database, MySql 5
Beh, non conosco MySQL ma da quello che riporta il manuale supporta sia l'operatore UNION che le funzioni IF ed EXISTS():
http://dev.mysql.com/doc/refman/5.0/en/union.html
http://dev.mysql.com/doc/refman/5.0/en/if-statement.html
http://dev.mysql.com/doc/refman/5.0/en/exists-and-not-exists-subqueries.html

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-2024
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5