Search:

Stickers:

Ultimi commenti:

Tags:

Archivi:

Marzo 2013 ( 1 )
Dicembre 2010 ( 1 )
Novembre 2010 ( 2 )
Luglio 2010 ( 1 )
Giugno 2010 ( 3 )
Maggio 2010 ( 1 )
Aprile 2010 ( 2 )
Novembre 2009 ( 1 )
Settembre 2009 ( 2 )
Luglio 2009 ( 2 )
Maggio 2009 ( 2 )
Aprile 2009 ( 1 )
Marzo 2009 ( 2 )
Gennaio 2009 ( 1 )
Dicembre 2008 ( 1 )
Novembre 2008 ( 4 )
Ottobre 2008 ( 2 )
Settembre 2008 ( 2 )
Agosto 2008 ( 1 )
Luglio 2008 ( 2 )
Giugno 2008 ( 2 )
Maggio 2008 ( 2 )
Aprile 2008 ( 3 )
Febbraio 2008 ( 3 )
Gennaio 2008 ( 6 )
Dicembre 2007 ( 2 )
Novembre 2007 ( 3 )
Ottobre 2007 ( 1 )
Settembre 2007 ( 3 )
Agosto 2007 ( 2 )
Luglio 2007 ( 5 )
Giugno 2007 ( 11 )
Maggio 2007 ( 13 )
Aprile 2007 ( 2 )

Count di 2 tabelle

Mi e’ capitato in questi giorni di dover fare una query per controllare il numero di record all’interno di due tabelle (ad es. Customers e Orders), ovviamente la mia intenzione era quella di fare tutto con un’unica chiamata.

Un modo per fare questa query potrebbe essere il seguente:

(SELECT COUNT (*) FROM Northwind.dbo.Customers)
  UNION ALL 
(SELECT COUNT (*) FROM Northwind.dbo.Orders)

Ottenendo il seguente risultato:

Risultato 1

 

Ho avuto quel che volevo su di un’unica colonna. Ma se io volessi entrambi sulla stessa riga ma su due colonne diverse?

Per fare questo si potrebbe utilizzare la seguente query:

SELECT
(SELECT COUNT (*) FROM Northwind.dbo.Customers) AS CustomersCount,
(SELECT COUNT (*) FROM Northwind.dbo.Orders) AS OrdersCount

Questa query ha il seguente risultato:

Risultato SQL Server

 

Cosi’ facendo ho un modo chiaro per identificare il risultato delle 2 tabelle. Purtroppo questa query funziona in SQL Server ma non in Access. C’e’ un modo per scrivere la stessa query in un SQL che vada bene per entrambi?

Ecco la soluzione:

SELECT Sum(Cust) AS CustomersCount, Sum(Ord) AS OrdersCount FROM
(
  SELECT COUNT (*) AS Cust, 0 AS Ord FROM Northwind.dbo.Customers
    UNION ALL
  SELECT 0 AS Cust, COUNT (*) AS Ord FROM Northwind.dbo.Orders
) AS T

Come si puo’ vedere, il risultato e’ identico anche in Access:

Risultato Access

Technorati Tag: ,

Pubblicato il: 8 maggio 2010 10:46; 0 commenti so far.

Tags: Programmazione