พอดีเจอปัญหาที่ต้อง Update ข้อมูลหลาย Table มาก แต่ว่าไม่รู้ว่ามีข้อมูลที่ Table ไหนบ้าง แต่รู้ว่ามันชื่อ Column นี้หมด ยกตัวอย่าง ต้องการหา ExtOrgId ใน Tables แต่อยากรู้ว่ามีที่ Table ไหนบ้าง
วิธีใช้ก็คือ
DECLARE @query NVARCHAR(MAX) = ''
SELECT @query += 'select '''+ a.oname +''' [TableName], * from ' + a.oname +' where '+ a.cname+' =3488;'
FROM (
SELECT o.name oname, c.name cname
FROM sys.columns c
JOIN sys.objects o ON o.object_id = c.object_id
WHERE o.type = 'U'
AND (c.name IN ('ExtOrgId'))
GROUP BY o.name, c.name
) a
SELECT @querySQLเพียงแค่นี้ก็จะได้ Query ที่หา Table มาให้พร้อมสำหรับเอาไปค้นหาข้อมูลต่อได้แล้ว