I am using SQL Server 2012.
I have 5 tables (lets call them A, B, C, D & E). Each table contains a column called m_id, which contains id\'s that are nvarchar(10).
You can use this:
SELECT CASE WHEN COUNT(*) > 0 THEN 1 ELSE 0 END as returnCode
FROM (
SELECT m_id, N'A' as tableName FROM A WHERE m_id = 'some_id'
UNION ALL
SELECT m_id, N'B' as tableName FROM B WHERE m_id = 'some_id'
UNION ALL
SELECT m_id, N'C' as tableName FROM C WHERE m_id = 'some_id'
UNION ALL
SELECT m_id, N'D' as tableName FROM D WHERE m_id = 'some_id'
UNION ALL
SELECT m_id, N'E' as tableName FROM E WHERE m_id = 'some_id'
) data
You could use UNION
(removes duplicates beforehand) or UNION ALL
:
SELECT CASE WHEN EXISTS
( SELECT 1 FROM ( SELECT m_id FROM A
UNION
SELECT m_id FROM B
UNION
SELECT m_id FROM C
UNION
SELECT m_id FROM D
UNION
SELECT m_id FROM E ) All
WHERE All.m_id = 'some_id')
THEN 1 ELSE 0 END AS ContainsID