【发布时间】:2014-03-11 13:44:31
【问题描述】:
我有两个表,通过外键关联。我想根据有关父表中一行的一些信息从子表中选择一列。
表格的定义是:
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 表中 direc 列中的所有条目。我正在使用sqlite。
【问题讨论】:
-
您实际上并没有加入。你需要像
ON runs.<some column> = location.<some column>这样的东西。
标签: sql select sqlite inner-join