|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Программирование и базы данных » MySQL - помогите сделать запрос. обьединение таблиц в запросе |
|
MySQL - помогите сделать запрос. обьединение таблиц в запросе
|
Новый участник Сообщения: 3 |
есть три таблицы (количество таблиц может варьироваться, но сейчас это не важно, скажем только три) вот стоблцы их (не все) :
1 таблица agt : agtID crpID staID slrsysID 2 таблица sta : staID crpID slrsysID constID regID 3 таблица crp : crpID slrsysID но помимо указаных столбцов есть ещё много других, которые тоже будут, в конечном итоге, участвовать в обработке пхп. но сейчас не об этом. так вот задача такова - выбрать из всех трёх таблиц ВСЕ записи по slrsysID. возможно ли такое сделать? и чем лучше пользоваться. слышал о принцепах JOIN да только не вкурил как сделать сам запрос. т.к. фака подходящего не нашлось. ![]() ![]() PS: хотелось бы увидеть два варианта. когда едёт "полная выборка". и когда идёт "исключения" если запись есть в другой таблице, вроде "исключения" через JOIN можно делать. PS2: не бейте сильно если чего "гоню". ![]() |
|
Отправлено: 14:52, 22-12-2008 |
Ветеран Сообщения: 5624
|
Профиль | Отправить PM | Цитировать running-frag, как я уже не раз советовал, сделайте так:
создайте чистую базу ms access, создайте там 3 ваши таблицы с полями, забейте в них по 2-3 записи. ПОтом идите в запросы и в конструкторе добавьте ваши таблицы. Экспериментируйте со связями. Потом вид - SQL и увидите свой запрос. Я тоже сейчас покумекаю. С UNION не получится, т.к. у вас разное количество столбцов в таблицах. |
------- Отправлено: 02:52, 23-12-2008 | #2 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Ветеран Сообщения: 5624
|
Профиль | Отправить PM | Цитировать предварительные тесты показали, что такую выборку сделать скорее всего не получится, т.к. в результирующем запросе выводятся перемноженные строки, т.е. если у меня в первой таблице 2 записи, во второй 3, в третьей 4, то получим на выходе 2*3*4 = 24 строки вместо 9. Попробуйте, может у вас получится что нибудь
![]() |
------- Отправлено: 03:11, 23-12-2008 | #3 |
Новый участник Сообщения: 3
|
Профиль | Отправить PM | Цитировать |
Отправлено: 12:15, 23-12-2008 | #4 |
Ветеран Сообщения: 5624
|
Профиль | Отправить PM | Цитировать Цитата running-frag:
либо select distinctrow agt.*, crp.* FROM agt, crp WHERE agt.crpID = '123456' && agt.crpID = crp.crpID |
||
------- Отправлено: 01:07, 24-12-2008 | #5 |
Новый участник Сообщения: 3
|
Профиль | Отправить PM | Цитировать Цитата Delirium:
Цитата Delirium:
PS: в факе есть строка "SELECT DISTINCT t1.a FROM t1, t2 where t1.a=t2.a;" пытался по подобию делать, пока что не получается, у кого есть идеи слушаем..... |
||
Отправлено: 11:05, 24-12-2008 | #6 |
![]() |
Участник сейчас на форуме |
![]() |
Участник вне форума |
![]() |
Автор темы |
![]() |
Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
7 / 2008 R2 - [решено] Запрос на смену пароля, помогите разобраться | duba | Автоматическая установка Windows 11 / 10 / 8 / 7 / Vista | 13 | 20-07-2011 19:38 | |
Прочие БД - Запрос на выборку из двух таблиц! | st031 | Программирование и базы данных | 1 | 05-06-2009 17:02 | |
MySQL - помогите сформулировать запрос | Oldschool | Программирование и базы данных | 2 | 29-11-2007 22:56 | |
Как сделать запрос на PHP?? | JS | Вебмастеру | 3 | 30-10-2004 23:35 | |
Можно ли использовать like в динам. запросе | Leon71 | Программирование и базы данных | 1 | 11-08-2003 14:45 |
|