>Tutto qua, come posso fare?
Prima di tutto devi imparare a scrivere correttamente i comandi T-SQL.
Come? Provando il codice prima di postarlo.
Ho perso 15 minuti a sistemare il tuo codice SQL e 10 secondi a scrivere la query che ti serve:
USE tempdb;
CREATE TABLE dbo.Archivio_mov_new(
IdDb bigint IDENTITY(1,1) NOT NULL,
codalbergo int NULL,
codcomalbergo int NULL,
DataArrivo smalldatetime NULL,
DataPartenza smalldatetime NULL,
StatoResidenza varchar(10) NULL
CONSTRAINT PK_Archivio_mov_new PRIMARY KEY(IdDb)
);
INSERT dbo.Archivio_mov_new VALUES(48, 60035, '20081001', '20081002', 'ITALIA');
INSERT dbo.Archivio_mov_new VALUES(48, 60035, '20081001', '20081002', 'ITALIA');
INSERT dbo.Archivio_mov_new VALUES(48, 60035, '20081001', '20081002', 'ITALIA');
INSERT dbo.Archivio_mov_new VALUES(48, 60035, '20081001', '20081002', 'ITALIA');
INSERT dbo.Archivio_mov_new VALUES(48, 60035, '20081001', NULL ,'ITALIA');
INSERT dbo.Archivio_mov_new VALUES(48, 60035, '20081004', '20081005' ,'FRANCIA');
INSERT dbo.Archivio_mov_new VALUES(48, 60035, '20081004', '20081005' ,'FRANCIA');
INSERT dbo.Archivio_mov_new VALUES(48, 60035, '20081004', '20081005' ,'FRANCIA');
INSERT dbo.Archivio_mov_new VALUES(48, 60035, '20081006', NULL ,'GERMANIA');
SET ANSI_WARNINGS OFF;
SELECT
StatoResidenza AS NAZIONE
, COUNT(DataArrivo) AS ARRIVI
, COUNT(DataPartenza) AS PARTITI
FROM dbo.Archivio_mov_new
GROUP BY StatoResidenza;
/* Output:
NAZIONE ARRIVI PARTITI
---------- ----------- -----------
FRANCIA 3 3
GERMANIA 1 0
ITALIA 5 4
(3 row(s) affected)
*/
DROP TABLE dbo.Archivio_mov_new;
Ciao!
--
Lorenzo Benaglia
Microsoft MVP - SQL Server
http://blogs.dotnethell.it/lorenzo/
http://italy.mvps.org