SQL分配记录

时间:2018-08-16 22:32:11

标签: sql

我有3张桌子: DroneStoreOperatorStoreOperations <连接点>

我在DroneStoreOperatorStore中拥有独立的数据,我想将DroneStore中的1架无人机分配给OperatorStore中的任何一名运营商,连接表。

有人可以帮我吗?

这是我在桌子上得到的:

CREATE TABLE DroneStore (
id int NOT NULL PRIMARY KEY,
name TEXT,
classType int,
rescue BOOLEAN,
operator INT,
);

CREATE TABLE OperatorStore (
id INT NOT NULL PRIMARY KEY,
firstName TEXT,
familyName TEXT,
dateOfBirth DATE,
droneLicense INT,
rescueEndorsement BOOLEAN,
operations INT,
);

CREATE TABLE Operations (
operatorId INT NOT NULL,
droneId INT NOT NULL,
FOREIGN KEY(droneId) REFERENCES DroneStore(id),
FOREIGN KEY(operatorId) REFERENCES OperatorStore(id)
);

1 个答案:

答案 0 :(得分:1)

如果选择哪个操作员或无人机都没有关系,并且OperatorStoreDroneStore表中都有数据,则可以执行此操作以将单个无人机分配给单个操作员。

INSERT INTO Operations (operatorId , droneId)
SELECT TOP 1 OS.id , DS.id 
FROM OperatorStore AS OS 
                        CROSS JOIN 
                                  DroneStore AS DS

很好的问题格式。保持良好的工作!