Access - сложный оператор SQL - PullRequest
1 голос
/ 23 февраля 2011

У меня есть база данных Access с контактами, телефонами, факсом, мобильным телефоном.Пример:

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?

Ответы [ 2 ]

3 голосов
/ 23 февраля 2011

Одна возможность изложена ниже, но любой ответ, я думаю, будет зависеть от того, является ли [Имя] уникальным ключом в любой таблице:

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

Я предположил, что Number - это текстовое поле, поскольку номера телефонов обычно хранятся в виде текста.

1 голос
/ 23 февраля 2011

Возможно, вы захотите посмотреть концепцию коррелированных подзапросов.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...