如何比较两个表的列并将值插入到基于 SQL Server 中存储过程中的比较的新表中
Posted
技术标签:
【中文标题】如何比较两个表的列并将值插入到基于 SQL Server 中存储过程中的比较的新表中【英文标题】:How to compare column of two table and insert a value into new table based on comparison in stored procedure in SQL Server 【发布时间】:2015-02-24 17:30:12 【问题描述】:我想创建一个过程,它应该检查两个表之间的列并根据比较将值插入另一个表。
表 1:
create table table1
(
ID int not null primary key,
)
表 2:
Create table table2
(
ItemID int not null primary key,
ID int FOREIGN KEY REFERENCES Orders(OrderID) ,
Descp Text
)
表 3:
create table table3
(
ID int,
ItemCheck char
)
表 3 的 ID
列的值应与表 1 的 ID
列相同,并且
如果表 1 表的 ID
列存在于表 2 中,则表 3 的值 ItemCheck
列应为“真”或“假”。
请给我一些想法,如果您有任何疑问,请告诉我。提前致谢。
【问题讨论】:
【参考方案1】:听起来你想要这样的东西?
TRUNCATE table3;
INSERT INTO table3 (ID, ItemCheck)
SELECT ID,
CASE WHEN EXISTS (SELECT 1 FROM table2 t2 WHERE ID = t.ID)
THEN 'T'
ELSE 'F'
END
FROM table1 t
【讨论】:
它有效。非常感谢【参考方案2】:Declare @col1 varchar(10)
Declare @col2 varchar(10)
SET @col1 = Select column1 from table1 where id =1
SET @col1 = Select column1 from table1 where id =2
IF(@col1 == @col2)
BEGIN
// insert statement goes here
END
【讨论】:
以上是关于如何比较两个表的列并将值插入到基于 SQL Server 中存储过程中的比较的新表中的主要内容,如果未能解决你的问题,请参考以下文章