Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft Access Новый топик    Ответить
 Как сделать запрос  [new]
Тимур Каримбаев
Member

Откуда: Москва
Сообщений: 189
Возможно-ли сделать такой запрос:

есть 2 таблицы:


users (id int primary key, name char (50))

subscribed_users (firm_id int primary key)


т.е. subscribed_users содержит в себе некоторые id из таблицы users
можно ли сделать запрос по users такой что он в одной строке будет выдавать и name юзера и то что он содержится в subscribed_users

сейчас приходится делать так



with currentDb.openRecordset("select * from users")
while not .eof do
user_id = ![id]
user_name = ![name]

if( currentDb.openRecordset ("select * from subscribed_users where id=" + user_id + ";").RecordCount > 0)
user_subscribed = 1 else user_subscribed=0
end if
loop
end with

' Может быть неверный синтаксис, но это неважно - сейчас работаю не в Access, волнует только сам запрос


можно ли все это сделать одним запросом ?


С уважением, Каримбаев Тимур
11 дек 03, 16:08    [457402]     Ответить | Цитировать Сообщить модератору
 Re: Как сделать запрос  [new]
Владимир Саныч
Member

Откуда: Израиль (причем это 1 человек, а не 2 => прошу на ты)
Сообщений: 40414
Никаких проблем. Один селект с джойном - и все.
11 дек 03, 16:28    [457436]     Ответить | Цитировать Сообщить модератору
 Re: Как сделать запрос  [new]
IgorM
Member

Откуда: Тула - Москва, транзит
Сообщений: 633
select u.id, u.name, sgn(nz(su.id)) as subscribed
from users as u
left join subscribed_users as su
on u.id = su.id
11 дек 03, 16:28    [457439]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft Access Ответить