【发布时间】:2014-07-22 17:30:40
【问题描述】:
我使用的是 SQL Server 2012。我只能访问一个尚未建立任何关系的数据库。我不太了解 SQL 脚本。我想从所有具有 EmployeeID 列的表中查看与 EmployeeID 102 关联的所有记录。例如。
EmployeeID LastName FirstName (from table Employees)
102 Jonh Smith
EmployeeID HireDate (from table EmploymentRecords)
102 2/1/2014
EmployeeID Monthly Salary (from table Salary)
102 2000
and so on
我尝试了以下脚本,但结果窗口关闭,在消息窗口中它只是说“命令成功完成”。我怎样才能得到上述结果。提前致谢。
DECLARE tnames_cursor CURSOR
FOR
SELECT TABLE_NAME
FROM INFORMATION_SCHEMA.TABLES
OPEN tnames_cursor
DECLARE @tablename sysname
FETCH NEXT FROM tnames_cursor INTO @tablename
if (select count(*) from information_schema.columns where table_name = @tablename and Column_name ='EmployeeID') > 0
BEGIN
SELECT @tablename = RTRIM(@tablename)
EXEC ('SELECT * FROM '+ @tablename +'where EmployeeID = 102')
END
【问题讨论】:
标签: sql sql-server denormalization