![]() |
помогите сделать запрос. обьединение таблиц в запросе
есть три таблицы (количество таблиц может варьироваться, но сейчас это не важно, скажем только три) вот стоблцы их (не все) :
1 таблица agt : agtID crpID staID slrsysID 2 таблица sta : staID crpID slrsysID constID regID 3 таблица crp : crpID slrsysID но помимо указаных столбцов есть ещё много других, которые тоже будут, в конечном итоге, участвовать в обработке пхп. но сейчас не об этом. так вот задача такова - выбрать из всех трёх таблиц ВСЕ записи по slrsysID. возможно ли такое сделать? и чем лучше пользоваться. слышал о принцепах JOIN да только не вкурил как сделать сам запрос. т.к. фака подходящего не нашлось. :( с union'ом тоже баловался, только не получилось у меня создать "нужный" мне запрос. :( подскажите плз. PS: хотелось бы увидеть два варианта. когда едёт "полная выборка". и когда идёт "исключения" если запись есть в другой таблице, вроде "исключения" через JOIN можно делать. PS2: не бейте сильно если чего "гоню". :) |
running-frag, как я уже не раз советовал, сделайте так:
создайте чистую базу ms access, создайте там 3 ваши таблицы с полями, забейте в них по 2-3 записи. ПОтом идите в запросы и в конструкторе добавьте ваши таблицы. Экспериментируйте со связями. Потом вид - SQL и увидите свой запрос. Я тоже сейчас покумекаю. С UNION не получится, т.к. у вас разное количество столбцов в таблицах. |
предварительные тесты показали, что такую выборку сделать скорее всего не получится, т.к. в результирующем запросе выводятся перемноженные строки, т.е. если у меня в первой таблице 2 записи, во второй 3, в третьей 4, то получим на выходе 2*3*4 = 24 строки вместо 9. Попробуйте, может у вас получится что нибудь :)
|
Код:
SELECT agt.*, crp.* FROM agt, crp WHERE agt.crpID = '123456' && agt.crpID = crp.crpID |
Цитата:
либо select distinctrow agt.*, crp.* FROM agt, crp WHERE agt.crpID = '123456' && agt.crpID = crp.crpID |
Цитата:
Цитата:
PS: в факе есть строка "SELECT DISTINCT t1.a FROM t1, t2 where t1.a=t2.a;" пытался по подобию делать, пока что не получается, у кого есть идеи слушаем..... |
Время: 20:09. |
Время: 20:09.
© OSzone.net 2001-