У меня есть две таблицы, связанные с внешним ключом. Я хочу выбрать столбец из дочерней таблицы на основе некоторой информации о строке в родительской таблице.Внутреннее соединение дочерней таблицы с родительской таблицей
Определения таблиц:
CREATE TABLE Runs(
id INTEGER,
name TEXT UNIQUE NOT NULL,
rundate TEXT NOT NULL,
PRIMARY KEY (id)
);
CREATE TABLE Location(
lid INTEGER,
rid INTEGER NOT NULL,
direc TEXT NOT NULL,
PRIMARY KEY (lid),
FOREIGN KEY (rid) REFERENCES Runs(id)
);
Я новичок в SQL, так что я не совсем понял, как это сделать. Это то, что я до сих пор (предположим, что я хочу, чтобы получить каталог для запуска с именем 012114:
SELECT direc FROM Location INNER JOIN Runs WHERE Runs.name = '012114';
Я также попытался
SELECT direc FROM Location INNER JOIN (SELECT * FROM Runs WHERE Name = '012114');
Обе эти попытки перечислены все записи из адр колонки в таблице Location. Я использую SQLite.
Вы на самом деле не присоединяетесь. Вам понадобится что-то вроде 'ON работает. = местоположение. '. –
Andrew