2011-11-28 145 views
3

好的,所以我在几个数据库中有一个名为org_id的组织id列。比较两个交叉引用列表

我在写一个搜索函数,它将查询这些数据库中的两个,并查找与这两个表中的值关联的所有org_id。

我只想最终有与我在每个表中查询的值对应的org_id。

例如:

说我有3个的org_id是表中cult_xref和cat_xref,它们都与组织表,这是不是真的适合此有关。我只想根据我放入这些表中的值(分别为2和6),将这两个表中的org_id放在cult_xref和cat_xref表中。

所以:

cult_xref

org_id  | cult_id 
3   | 2 
4   | 2 
3   | 5 

cat_xref 

org_id  | cat_id 
3   | 6 
3   | 1 
7   | 6 

我只会想拉org_id的是满足cult_id [ '2']和CAT_ID [ '6']在同一时间。

回答

3

在SQL中,这称为JOIN。

SELECT org_id 
FROM cult_xref INNER JOIN cat_xref USING (org_id) 
WHERE (cult_id,cat_id) = (2,6) 

一个不错的介绍加入,看到A Visual Explanation of SQL Joins

+0

哦不错,谢谢!这应该可能工作。 –

+0

如果您认为这是一个有用的答案(或者将其标记为您的首选解决方案),请考虑制作一个upvote。 – jsalonen