如何在 insert into... Values SQL 语句中从另一个 table 获取键?
How to get a key from another table in a insert into... Values SQL statement?
我在 SQL 语句方面不是很有经验,我正在尝试组合几个语句以减少到数据库的流量。(并确保中间不会发生其他操作)...
我有两个 table:
Table: R_LOTS
a.o。 2 列:PK_R_LOT 和 LOTCODE
Table: R_LOTTRACKING
列:FK_R_LOT、TIMESTAMP、FK_MAGLOCATIES
我使用语句:
INSERT INTO R_LOTTRACKING (FK_R_LOT,TIMESTAMP,FK_MAGLOCATIES) VALUES (?,CURRENT_TIMESTAMP,?).
在问号处我可以填写要发送的值。
然而,如你所想,我没有 FK_R_LOT 但我有 LOTCODE(R_LOT)..当然我可以用 FK_R_LOT分开 SELECT PK_R_LOT FROM R_LOT WHERE LOTCODE=?;
但有没有办法合并这些语句?
我看过一些例子,但所有信息似乎都来自 R_LOT table 但我找不到 VALUES 和 SELECT.
的组合
总结:
我知道:LOTCODE 和 FK_MAGLOCATIES
如何组合语句插入行:
INSERT INTO R_LOTTRACKING (FK_R_LOT,TIMESTAMP,FK_MAGLOCATIES) VALUES (?,CURRENT_TIMESTAMP,?)
SELECT PK_R_LOT FROM R_LOT WHERE LOTCODE=?
使用子查询:
INSERT INTO R_LOTTRACKING ( FK_R_LOT, ... )
VALUES ( (SELECT PK_R_LOT FROM R_LOT WHERE LOTCODE = ?), ... );
或使用插入 select:
INSERT INTO R_LOTTRACKING ( FK_R_LOT, ... )
SELECT PK_R_LOT, ... FROM R_LOT WHERE LOTCODE = ?;
我在 SQL 语句方面不是很有经验,我正在尝试组合几个语句以减少到数据库的流量。(并确保中间不会发生其他操作)...
我有两个 table:
Table: R_LOTS
a.o。 2 列:PK_R_LOT 和 LOTCODE
Table: R_LOTTRACKING
列:FK_R_LOT、TIMESTAMP、FK_MAGLOCATIES
我使用语句:
INSERT INTO R_LOTTRACKING (FK_R_LOT,TIMESTAMP,FK_MAGLOCATIES) VALUES (?,CURRENT_TIMESTAMP,?).
在问号处我可以填写要发送的值。
然而,如你所想,我没有 FK_R_LOT 但我有 LOTCODE(R_LOT)..当然我可以用 FK_R_LOT分开 SELECT PK_R_LOT FROM R_LOT WHERE LOTCODE=?;
但有没有办法合并这些语句?
我看过一些例子,但所有信息似乎都来自 R_LOT table 但我找不到 VALUES 和 SELECT.
的组合总结:
我知道:LOTCODE 和 FK_MAGLOCATIES
如何组合语句插入行:
INSERT INTO R_LOTTRACKING (FK_R_LOT,TIMESTAMP,FK_MAGLOCATIES) VALUES (?,CURRENT_TIMESTAMP,?)
SELECT PK_R_LOT FROM R_LOT WHERE LOTCODE=?
使用子查询:
INSERT INTO R_LOTTRACKING ( FK_R_LOT, ... )
VALUES ( (SELECT PK_R_LOT FROM R_LOT WHERE LOTCODE = ?), ... );
或使用插入 select:
INSERT INTO R_LOTTRACKING ( FK_R_LOT, ... )
SELECT PK_R_LOT, ... FROM R_LOT WHERE LOTCODE = ?;