У меня есть схема, как этотЗаполняет таблицу с внешними ключами в нем
CREATE TABLE TrainManager(
train_name VARCHAR(5) REFERENCES Train(name),
station_id INT REFERENCES Station(station_id)
);
Две справочные таблицы имеют косвенные отношения.
управление (ctrl_id, train_name);
controlremote (ctrl_id, station_id);
Как вы можете, чтобы получить train name
и station id
, мы должны получить в двух других таблиц для сравнения ctrl_id
, кроме сравнения train_name и station_id.
$query = "INSERT INTO `train` (train_name, station_id)
SELECT t.train_name, st.station_id
FROM train, station
WHERE t.train_name = (SELECT c.train_name FROM control c
WHERE c.train_name = t.train_name)
AND
st.station_id = (SELECT cr.station_id FROM controlremote cr
WHERE cr.station_id = st.station_id)
AND
Но я не могу думать о правильной SQL synatx для сравнения ctrl_id ...
Большое спасибо за помощь. Теперь ясно. Я использую ту же идею в моем проекте. Благодарю. – user1012451