выполнение запросов более чем к одной таблице - PullRequest
0 голосов
/ 07 февраля 2011

Я пытаюсь сделать запрос в двух таблицах:

  • SIMPLE_PERSON с 3 полями (имя, сетка и карточка социального обеспечения)
  • INDIVIDUAL_AGGREGATE с 4 полями: сетка (PK), тип (D (драйвер) или C (клиент)), код, simple_person (внешний ключ simple_person))

Когда я регистрирую какого-либо человека, я должен сохранить его на SIMPLE_PERSON и указать тип агрегата (Драйвер или Клиент). И не может иметь двух одинаковых номеров карт социального страхования.

В AJAX я выбрасываю средство проверки, которое возвращает окно предупреждения, если SSC зарегистрирован, но мой SQL-запрос не работает. Мне нужно сделать запрос, который мне возвращается, если карточка социального обеспечения уже зарегистрирована. Я пытаюсь использовать EXISTS, но у меня не было большого успеха:

SELECT simple_person.name 
  FROM simple_person 
 WHERE SSC = 'SSC_NUMBER' 
   AND EXISTS (SELECT individual_aggregate.code FROM individual_aggregate
                WHERE code = 'xx' 
                  AND individual_aggregate.type = 'D');

Кто-нибудь может помочь мне заставить этот запрос работать?

Ответы [ 3 ]

0 голосов
/ 07 февраля 2011

В вашем дополнительном элементе отсутствует предложение FROM.

ВЫБРАТЬ индивидуальный_агрегат.код ОТ индивидуального_агрегата ГДЕ код = 'xx' И индивидуальный_агрегат.тип = 'D'

С уважением Sigersted

0 голосов
/ 07 февраля 2011

Вы хотели проверить, есть ли человек, зарегистрированный на каком-либо номере социального страхования?

если да, то, что я сделал, это объединение двух таблиц и вернуть строки, которые соответствуют определенному номеру социального страхования.

вы можете добавить к оператору WHERE (AND IA.code = 'XX' и IA.Type = 'D')

SELECT SP.Name
FROM simple_person AS SP
INNER JOIN individual_aggregate AS IA ON SP.grid = IA.grid
WHERE SP.SSC = {someNumber}

тебе помог?

0 голосов
/ 07 февраля 2011

Ваш подзапрос в предложении EXISTS фактически не затрагивает таблицу, представление или другое.

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