This is a nice little T-SQL challenge that I got from my friend Davide Mauri. You are given the following tables and sample data:
SET NOCOUNT ON;
USE tempdb;
GO
IF OBJECT_id('dbo.FieldMappings', 'U') IS NOT NULL
DROP TABLE dbo.FieldMappings;
IF OBJECT_id('dbo.Fields' , 'U') IS NOT NULL
DROP TABLE dbo.Fields;
IF OBJECT_id('dbo.Forms' , 'U') IS NOT NULL
DROP TABLE dbo.Forms;
GO
CREATE TABLE dbo.Forms
(
id INT NOT NULL IDENTITY(1,1),
name VARCHAR(32) NOT NULL,
CONSTRAINT PK_Forms PRIMARY KEY(id)
);
CREATE TABLE dbo.Fields
(
id INT NOT NULL IDENTITY(1,1),
formid INT NOT NULL, -- related to dbo.Forms(id)
name VARCHAR(32) NOT NULL,
value VARCHAR(256) NOT NULL,
CONSTRAINT PK_Fileds PRIMARY KEY(id)
);
CREATE TABLE dbo.FieldMappings
(
thenewid INT NOT NULL, -- related to dbo.Fields(id)
theoldid INT NOT NULL, -- related to dbo.Fields(id)
CONSTRAINT PK_FiledMappings PRIMARY