我看过很多类似的问题,但似乎没有一个答案适用于我想要做的事情,所以这里有:
我有一个数据分布在4行的表。这些行中的某些值需要填充另一个表,所有表都在一行中,映射到特定列(这样可以使PLC获取它)。
我创建了以下查询,正如您所期望的那样,我会以多行为单位输出(但实际上,当我一次执行超过2个部分时,它似乎并不起作用)。
我如何将这些合并到一行?我和UNION一起去了,看看嵌套查询但是无法解决问题。感激不尽。
--////////
--To change format so one row contains all recipe data,
INSERT INTO dbo.Rep_Criteria (FILE_NAME, BAC, Rev, Tol_Lo1, Tol_Hi1, Eng_Tol1, Min, Max, Min TCs)
SELECT File_Name, BAC, Rev, Low, High, Eng_Tol, Min, Max, Min_TC
FROM dbo.Recipe
WHERE ID = 1 ;
INSERT INTO dbo.Rep_Criteria (Tol_Lo2, Tol_Hi2, Eng_Tol2)
SELECT Low, High, Eng_Tol
FROM dbo.Recipe
WHERE ID = 2 ;
INSERT INTO dbo.Rep_Criteria (Tol_Lo3, Tol_Hi3, Eng_Tol3)
SELECT Low, High, Eng_Tol
FROM dbo.Recipe
WHERE ID = 3 ;
INSERT INTO dbo.Rep_Criteria (Tol_Lo4, Tol_Hi4, Eng_Tol4)
SELECT Low, High, Eng_Tol
FROM dbo.Recipe
WHERE ID = 4 ;
--////////
这可能有所帮助,虽然格式搞砸了:
Table 1: (Input) File_Name BAC Rev Low High Eng_Tol Min Max Min_TC Zeppelin 5636 F 0 6 4.0 1550 1725 1 Zeppelin 0 0 6 15 5.0 0 0 0 Zeppelin 0 0 15 100 6.0 0 0 0 Zeppelin 0 0 100 600 15.0 0 0 0
Table 2: (Output) File_Name - BAC - Rev - Tol_Lo1 - Tol_Lo2 - Tol_Lo3 - Tol_Lo4 - Tol_Hi1 - Tol_Hi2 - Tol_Hi3 - ------- Zeppelin 5636 F 0 6 15 100 -------- Tol_Hi4 - Eng_Tol1 - Eng_Tol2 - Eng_Tol3 - Eng_Tol4 - Min - Max - Min# T/C's 600 4.0 5.0 6.0 15.0 1550 1725 1