我有Table1列A,B & C. 我想创建表2并创建ColumnA,Table1(唯一)中的值的主键,然后相应地从Table1填充值B和C(基于列A的唯一值)。基于另一个表的唯一值插入值(规范化)
任何帮助将不胜感激。 编辑:我正在使用SQL服务器,并尝试使用INSERT INTO ... SELECT DISTINCT。
我有Table1列A,B & C. 我想创建表2并创建ColumnA,Table1(唯一)中的值的主键,然后相应地从Table1填充值B和C(基于列A的唯一值)。基于另一个表的唯一值插入值(规范化)
任何帮助将不胜感激。 编辑:我正在使用SQL服务器,并尝试使用INSERT INTO ... SELECT DISTINCT。
如果您正在使用MS SQL Server中,试试这个
WITH CTE
AS
(
SELECT
RN = ROW_NUMBER() OVER(PARTITION BY ColumnA ORDER BY ColumnA),
ColumnA,
ColumnB,
ColumnC
FROM YourTable
)
INSERT INTO Table2
(
ColumnA,
ColumnB,
ColumnC
)
SELECT
ColumnA,
ColumnB,
ColumnC
FROM CTE
WHERE RN = 1
读https://meta.stackoverflow.com/questions/349789/how-do-i-create-a-minimal-complete-verifiable - 例子 –
你使用的是MySQL还是MS SQL Server?不要标记不涉及的产品。 – jarlh