使用查询选择的外键来获取同一查询中的数据

时间:2016-01-15 21:07:26

标签: sql

我正在尝试构建的查询存在此问题。我的想法是我有3个表,其中两个有外键。我想创建一个查询,从表A中选择外键并使用相同的密钥从密钥B获取数据。

所以它看起来像这样:

%number of neighbors 
K = 1;

% X=18x14, Y=1x14, dist=18x1
[dist, iidx] = pdist2(X,Y,'mahalanobis','smallest',K); 

%to find the class, you can do something like this
num_samples_per_class = 6;
matching_class = ceil(iidx/ num_samples_per_class);

但不知怎的,我无法做到这一点或找到任何关于它的好文档。

2 个答案:

答案 0 :(得分:1)

这是一个简单的INNER JOIN

Select      *
From        TableA  A
Inner Join  TableB  B   On  A.ForeignKey1 = B.Id

答案 1 :(得分:0)

如果要进行从表A中选择外键并使用相同的密钥从密钥B获取数据的查询,则下面的内容应该可以正常工作,

SELECT id, foreignKey1 
FROM tableB 
WHERE id IN (SELECT id FROM tableA);

但是连接总是提供比子查询更好的性能,您可以使用下面的查询,

SELECT b.id, b.foreignKey1 
FROM tableB b 
INNER JOIN tableA ON a.id = b.id;