[英]SQL statement from two tables
我想知道是否有可能从一个表中选择某些列,并从第二个表中选择另一列,这与第一个表中的非导入列有关。 我必须从Access获取此数据,并且不知道使用Access或一般来说SQL是否可行。
假设表结构如下:
CREATE TABLE tbl_1 (
pk_1 int,
field_1 varchar(25),
field_2 varchar(25)
);
CREATE TABLE tbl_2 (
pk_2 int,
fk_1 int,
field_3 varchar(25),
field_4 varchar(25)
);
您可以使用以下内容:
SELECT t1.field_1, t2.field_3
FROM tbl_1 t1
INNER JOIN tbl_2 t2 ON t1.pk_1 = t2.fk_1
WHERE t2.field_3 = "Some String"
关于Bill的帖子,有两种方法可以在SQL查询中创建JOIN:
隐式-使用查询的WHERE子句创建联接,并在FROM子句中指定多个表
显式-使用适当类型的JOIN子句(INNER,LEFT,RIGHT,FULL)创建联接
始终建议您使用显式JOIN语法,因为一旦查询变得更加复杂,隐式联接就会出现问题。
例如,如果以后向显式联接添加一个已经使用隐式联接的查询,该隐式联接具有FROM子句中引用的多个表,则FROM子句中引用的第一个表对显式联接表不可见。
我不确定100%知道您的问题。
是否满足以下条件:
您的第一个表是从其他地方导入的。 您仅导入一些列。 您要构建一个查询,该查询引用您尚未导入的列。
如果这是真的,那是不可能的。 就相关的Access查询引擎而言,未导入的列不存在。
为什么不同时导入它们呢?
但是主键使查询更高效
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.