【发布时间】:2021-11-12 05:37:40
【问题描述】:
我正在尝试在 SQL Server 中将值从一个表更新到另一个表。我有 2 个表:tblBus 和 tblRB_ID。
create table tblBus
(
bus varchar (10) NOT NULL PRIMARY KEY,
rb_id int FOREIGN KEY REFERENCES tblRB_ID(rb_id2),
roadside_bottom varchar (20)
);
| Bus | rb_id | roadside_bottom |
|---|---|---|
| 1000 | NULL | NULL |
| 1001 | NULL | NULL |
这里是 tblRB_ID:
create table tblRB_ID
(
rb_id2 int NOT NULL IDENTITY (1,1) PRIMARY KEY,
contract_id int FOREIGN KEY REFERENCES tblContracts(contract_id),
rb_name varchar (20)
CONSTRAINT rb_pass CHECK
(
rb_name IN ('King', 'Super King', 'Kong', 'Half Side')
)
);
| rb_id2 | contract_id | roadside_bottom |
|---|---|---|
| 8 | 1 | King |
| 9 | 2 | Super King |
我尝试使用它来更新值,但我收到一条错误消息,提示“关键字 'RIGHT' 附近的语法不正确”。
UPDATE tblBus
RIGHT JOIN tblRB_ID
ON tblBus.rb_id = tblRB_ID.rb_id2,
tblBus.roadside_bottom = tblRB_ID.rb_name;
SET tblBus.rb_id = tblRB_ID.rb_id2,
tblBus.roadside_bottom = tblRB_ID.rb_name;
我想用来自 tblRB_ID 的信息更新 tblBus。我希望 tblRB_ID 中的两条记录都进入 tblBus,以及我放入 tblRB_ID 的任何后续记录。我希望它看起来像这样:
| Bus | rb_id | roadside_bottom |
|---|---|---|
| 1000 | 8 | King |
| 1001 | 9 | Super King |
请帮忙。
谢谢
【问题讨论】:
标签: sql sql-server