2011-02-23 74 views
1

我有一个Access数据库与联系人,电话号码,传真,手机。例如:访问 - 棘手的SQL语句

Table: Numbers 

Name  Number  Type 
George  555555  Phone 
George  656565  Phone 
George  323232  Fax 
Michael 656565  Phone 
John  323232  Fax 
Steve  234345  Mobile 

我想选择谁拥有的电话号码656565 传真号码323232, 即这里只乔治和迈克尔不是约翰或人。 (如果有帮助,名称是一个外键) 什么是SQL语句?

回答

3

一种可能性是载于下文,但任何答案,我想,取决于[名称]是在什么表它是从一个独特的密钥:我认为这个数字

SELECT [Name] FROM Numbers 
WHERE Type = 'Phone' 
AND [Number] = '656565' 
AND [Name] IN  
    (SELECT [Name] FROM Numbers 
    WHERE Type = 'Fax' 
    AND [Number] = '323232') 

是一个文本因为电话号码通常以文本形式存储。

+0

我总是用JOIN而不是IN子句来做到这一点。 – 2011-02-28 05:04:19

1

您可能想要查看相关子查询的概念。

+0

我看不出在这里完全需要相关的子查询。请提供SQL。 – 2011-02-28 05:04:43