DB を Foxpro から SQL に移行しているときに、この状況に遭遇しました。
以下はサンプルシナリオです.. (私の元のコードは少し複雑なので、独自の例を作成しようとしました)
必要なものを取得するために、SQL サーバー関数でいくつかのテーブル変数を作成しました。
DECLARE @temp_1 TABLE(ID INT,
Name NCHAR(7),
bday DATE,
m_status NVARCHAR(10));
INSERT INTO @temp_1
SELECT Name, bday, m_status from Employee_Info
DECLARE @temp_2 TABLE(ID INT,
City NCHAR(7),
Country NVARCHAR(10),
zip NVARCHAR(10));
INSERT INTO @temp_2
SELECT City, Country, zip from Employee_Address
次に、上記のテーブル変数のフィールドを 1 つずつ使用して、データを 3 番目のテーブル変数に導出する必要がある状況が発生します。
例えば、
DECLARE @temp_full TABLE (
Name NCHAR(7),
City NCHAR(7));
INSERT INTO @temp_full
SELECT @temp_1.Name, @temp_2.City FROM @temp_1, @temp_2 WHERE @temp_1.ID = @temp_2.ID
[EDITED TO INCLUDE INSERT USING JOINS]
INSERT INTO @temp_full
SELECT @temp_1.Name, @temp_2.City FROM @temp_1 INNER JOIN @temp_2 ON @temp_1.ID = @temp_2.ID
ただし、@temp_1.Name、@temp_2.City を実行すると、スカラー変数 @temp_1、@temp_2 を削除する必要があるというエラーが表示されます。
誰でもこの問題を解決する方法を教えてください。
ご協力ありがとうございました。