Rambler's Top100
Форум: MS ACCESSVBVBA MS OfficeMS SQL server
Новые сообщения: 0000

Форум: MS ACCESS

Вопросы связанные с MS ACCESS

Обновить визитку
Участники «Online»
Все участники

 
 

Доброго времени суток, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Запрос UNION
 
 автор: SONAR   (21.12.2010 в 13:22)   личное сообщение
 
 

Есть три таблицы:
tbl_Archivarius
с полями Archivarius, Rabotaet, Doljnost

tbl_Kontroler
с полями Kontroler, Rabotaet, Doljnost

tbl_Admin
с полями Admin, Rabotaet, Doljnost

Как их все три объединить в запросе на объединение? (по всем трем полям) При этом выборку сделать по полю (логическому) Rabotaet = Да (True)

С SQL плохо дружу, потому такой глупый вопрос.

во сех трех одинаковые три поля
Спасибо.

  Ответить  
 
 автор: kot_k_k   (21.12.2010 в 13:33)   личное сообщение
 
 

а на кой 3 таблы содержащие одну и туже инфу
табла должна быть
одна с Профой,
вторая с ФИО
третья Должность
четвертая Профа, ФИО, Должность и дата поступления
ничего объеденять в таком случае не надо.

п.с. а если добавят новую профу Директор-Уборщик - новую таблу лепить будем - неправильно

  Ответить  
 
 автор: SONAR   (21.12.2010 в 13:44)   личное сообщение
 
 

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

  Ответить  
 
 автор: Balu   (21.12.2010 в 13:54)   личное сообщение
 
 

Попробуйте так
SELECT * FROM tbl_Admin WHERE (Rabotaet='Да')
UNION ALL SELECT * FROM tbl_Archivarius WHERE (Rabotaet='Да')
UNION ALL SELECT * FROM tbl_Kontroler WHERE (Rabotaet='Да')

  Ответить  
 
 автор: SONAR   (21.12.2010 в 14:15)   личное сообщение
 
 


SELECT * FROM tbl_Admin WHERE (Rabotaet='Да')
UNION ALL SELECT * FROM tbl_Archivarius WHERE (Rabotaet='Да')
UNION ALL SELECT * FROM tbl_Kontroler WHERE (Rabotaet='Да')



Ни курпуля не идет, матюгается на не соответствие типов данных

  Ответить  
 
 автор: Balu   (21.12.2010 в 14:22)   личное сообщение
 
 

У Вас в каждой таблице по три поля или еще есть поля?

  Ответить  
 
 автор: Explorer   (21.12.2010 в 14:33)   личное сообщение
 
 

ругается на логическое поле

  Ответить  
 
 автор: Balu   (21.12.2010 в 14:39)   личное сообщение
 
 

Понял, тогда вот так:

SELECT * FROM tbl_Admin WHERE (Rabotaet=True)
UNION ALL SELECT * FROM tbl_Archivarius WHERE (Rabotaet=True)
UNION ALL SELECT * FROM tbl_Kontroler WHERE (Rabotaet=true)

Это если у Вас по ТРИ поля в таблицах

  Ответить  
 
 автор: SONAR   (21.12.2010 в 15:20)   личное сообщение
 
 


SELECT * FROM tbl_Admin WHERE (Rabotaet=True)
UNION ALL SELECT * FROM tbl_Archivarius WHERE (Rabotaet=True)
UNION ALL SELECT * FROM tbl_Kontroler WHERE (Rabotaet=true)




Отлично! То, что доктор прописал.
Спасибо!

  Ответить  
 
 автор: Explorer   (21.12.2010 в 13:58)   личное сообщение
 
 


в силу некоих причин занесены разные люди


раздача прав доступа по ролям?

  Ответить  
 
 автор: SONAR   (21.12.2010 в 14:10)   личное сообщение
 
 


раздача прав доступа по ролям?



Да. Криво конечно, но как смог делал, ща переделывать влом.
Просто есть Контролеры, есть архивариусы , у каждого клиентская часть стоит, коя через связанные таблицы из базы юзает. а эти таблицы отдельно в каждой клиентской базе отдельно для контролеров и для архивариусов.
вот они каждый в зависиомсти от должности и юзают только эти таблицы.
уже даже и не помню почему в свое время таким путем пошел...

  Ответить  
 
 автор: Дядя Федор   (22.12.2010 в 16:52)   личное сообщение
 
 

"Да" - не всегда правда...

  Ответить  
HiProg.com - Технологии программирования
Rambler's Top100 TopList