>la tabella che mi interessa sapere l'informazione dipende da
>dove si trova il dato se nella tab1 o tab2...e utilizzo SQL Server
Che significa questa frase?
Se ti interessa conoscere la tabella basta aggiungere una nuova colonna al result set:
USE tempdb;
CREATE TABLE dbo.tab1(
id int NOT NULL PRIMARY KEY,
Valore varchar(10) NOT NULL
);
CREATE TABLE dbo.tab2(
id int NOT NULL PRIMARY KEY,
Valore varchar(10) NOT NULL
);
INSERT dbo.tab1 VALUES(10, 'Valore 10');
INSERT dbo.tab1 VALUES(20, 'Valore 20');
INSERT dbo.tab1 VALUES(30, 'Valore 30');
INSERT dbo.tab2 VALUES(100, 'Valore 100');
INSERT dbo.tab2 VALUES(200, 'Valore 200');
INSERT dbo.tab2 VALUES(300, 'Valore 300');
WITH CTE_Valori AS
(
SELECT id, Valore, 'tab1' AS Tabella
FROM dbo.tab1
UNION ALL
SELECT id, Valore, 'tab2'
FROM dbo.tab2
)
SELECT *
FROM CTE_Valori
WHERE id = 100;
/* Output:
id Valore Tabella
----------- ---------- -------
100 Valore 100 tab2
(1 row(s) affected)
*/
DROP TABLE dbo.tab1, dbo.tab2;
--
Lorenzo Benaglia
Microsoft MVP - SQL Server
http://blogs.dotnethell.it/lorenzo/
http://italy.mvps.org