Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Объединение таблиц без join
|
|||
|---|---|---|---|
|
#18+
На http://en.wikipedia.org/wiki/Object-relational_database лежит пример: Another advantage to the object-relational model is that the database can make use of the relationships between data to easily collect related records. In an address book application, an additional table would be added to the ones above to hold zero or more addresses for each user. Using a traditional RDBMS, collecting information for both the user and their address requires a "join": SELECT InitCap(C.Surname) || ', ' || InitCap(C.FirstName), A.city FROM Customers C, Addresses A WHERE A.Cust_Id=C.Id -- the join AND A.city="New York" The same query in an object-relational database is much simpler: SELECT Formal( C.Name ) FROM Customers C WHERE C.address.city ="New York" -- the linkage is 'understood' by the ORDB Возможно ли такое в Postgres и как так сделать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.06.2007, 00:17 |
|
||
|
Объединение таблиц без join
|
|||
|---|---|---|---|
|
#18+
ElliasНа http://en.wikipedia.org/wiki/Object-relational_database лежит пример: Another advantage to the object-relational model is that the database can make use of the relationships between data to easily collect related records. In an address book application, an additional table would be added to the ones above to hold zero or more addresses for each user. Using a traditional RDBMS, collecting information for both the user and their address requires a "join": SELECT InitCap(C.Surname) || ', ' || InitCap(C.FirstName), A.city FROM Customers C, Addresses A WHERE A.Cust_Id=C.Id -- the join AND A.city="New York" The same query in an object-relational database is much simpler: SELECT Formal( C.Name ) FROM Customers C WHERE C.address.city ="New York" -- the linkage is 'understood' by the ORDB Возможно ли такое в Postgres и как так сделать. ИМХО нет. И, честно говоря, не совсем ясно ЧТО и главное ЗАЧЕМ надо? JOIN все равно будет происходить (если в основе лежат RDBSные таблицы). Ну, а Постгрес в первую очередь все таки RDBMS, а объектность его в том, что он может наследовать таблицы. Даже толком инкапсуляции нет. Да и полиморфизм... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.06.2007, 11:47 |
|
||
|
Объединение таблиц без join
|
|||
|---|---|---|---|
|
#18+
Средствами PostgreSQL это делается легко. Итак Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. Желаю удачи ;) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.06.2007, 16:35 |
|
||
|
Объединение таблиц без join
|
|||
|---|---|---|---|
|
#18+
wСредствами PostgreSQL это делается легко. Итак Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. Желаю удачи ;) Мда, век живи - век учись. Стоит отметить, что в текущих релизах ПГ низзя сделать массив композитных типов (вроде в 8.3 появляется). Т.е. это, на данный момент не совсем полный аналог двух таблиц, связанных FK. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.06.2007, 09:43 |
|
||
|
Объединение таблиц без join
|
|||
|---|---|---|---|
|
#18+
Andrey Daeron Мда, век живи - век учись. Стоит отметить, что в текущих релизах ПГ низзя сделать массив композитных типов (вроде в 8.3 появляется). Т.е. это, на данный момент не совсем полный аналог двух таблиц, связанных FK.а так~ Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.06.2007, 10:48 |
|
||
|
Объединение таблиц без join
|
|||
|---|---|---|---|
|
#18+
assa Andrey Daeron Мда, век живи - век учись. Стоит отметить, что в текущих релизах ПГ низзя сделать массив композитных типов (вроде в 8.3 появляется). Т.е. это, на данный момент не совсем полный аналог двух таблиц, связанных FK.а так~ Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. А че такое Код: plaintext 1. 2. 3. 4. 5. ПГ ваще говорит : ERROR: syntax error в или рядом "integer" at character 38 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.06.2007, 10:51 |
|
||
|
Объединение таблиц без join
|
|||
|---|---|---|---|
|
#18+
msa@n-e.ru А че такое Код: plaintext 1. 2. 3. 4. 5. ПГ ваще говорит : ERROR: syntax error в или рядом "integer" at character 38 гм. отвлекли - запутали. :) не доправил. нада создать вью. что-то типа ~ Код: plaintext 1. 2. 3. 4. 5. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.06.2007, 11:10 |
|
||
|
Объединение таблиц без join
|
|||
|---|---|---|---|
|
#18+
assa msa@n-e.ru А че такое Код: plaintext 1. 2. 3. 4. 5. ПГ ваще говорит : ERROR: syntax error в или рядом "integer" at character 38 гм. отвлекли - запутали. :) не доправил. нада создать вью. что-то типа ~ Код: plaintext 1. 2. 3. 4. 5. Как-то конструкция Код: plaintext 1. 2. 3. 4. 5. 6. не очень вяжется с топиком :-)))) "Объединение таблиц без join" ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.06.2007, 11:24 |
|
||
|
Объединение таблиц без join
|
|||
|---|---|---|---|
|
#18+
msa@n-e.ruне очень вяжется с топиком :-)))) "Объединение таблиц без join"гм. зато "зин таксист" селекта вяжется с желаемым в изходном топике афтора. А что ообд маскируют реальные джойны... - дык если в руках вструмент, позволяющий повторить желаемое поведение, токмо руками - в чем проблема? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.06.2007, 11:29 |
|
||
|
Объединение таблиц без join
|
|||
|---|---|---|---|
|
#18+
assa msa@n-e.ruне очень вяжется с топиком :-)))) "Объединение таблиц без join"гм. зато "зин таксист" селекта вяжется с желаемым в изходном топике афтора. А что ообд маскируют реальные джойны... - дык если в руках вструмент, позволяющий повторить желаемое поведение, токмо руками - в чем проблема? Лично мне больше нравится вариант, предложенный ДубльВе, с использованием типов. Да и процедура JOIN, наверное, не такая уж и простая в смысле ресурсоемкости. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.06.2007, 11:59 |
|
||
|
Объединение таблиц без join
|
|||
|---|---|---|---|
|
#18+
msa@n-e.ru Лично мне больше нравится вариант, предложенный ДубльВе, с использованием типов. Да и процедура JOIN, наверное, не такая уж и простая в смысле ресурсоемкости.ндравится - берите. вот токо когда найдете в этом варианте объединение таблиц - сообщите. А пока это просто денормализованная плоская таблица, часть полей которой выдаются одним блоком - составным полем. И все. нашли чем чваниться. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.06.2007, 12:14 |
|
||
|
Объединение таблиц без join
|
|||
|---|---|---|---|
|
#18+
assa msa@n-e.ru Лично мне больше нравится вариант, предложенный ДубльВе, с использованием типов. Да и процедура JOIN, наверное, не такая уж и простая в смысле ресурсоемкости.ндравится - берите. вот токо когда найдете в этом варианте объединение таблиц - сообщите. А пока это просто денормализованная плоская таблица, часть полей которой выдаются одним блоком - составным полем. И все. нашли чем чваниться. Ваш пример не совсем понятен. Первой конструкцией Код: plaintext 1. 2. 3. 4. 5. Код: plaintext 1. 2. 3. 4. 5. 6. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.06.2007, 12:38 |
|
||
|
Объединение таблиц без join
|
|||
|---|---|---|---|
|
#18+
В общето я думал что постгри сам должен додумываться прилепливать таблицы по Forign Key. А педъявленные выше примеры похожи на манст###цию. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.06.2007, 12:53 |
|
||
|
Объединение таблиц без join
|
|||
|---|---|---|---|
|
#18+
ElliasВ общето я думал что постгри сам должен додумываться прилепливать таблицы по Forign Key. А педъявленные выше примеры похожи на манст###цию.А какие СУБД сами додумываются? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.06.2007, 13:03 |
|
||
|
Объединение таблиц без join
|
|||
|---|---|---|---|
|
#18+
msa@n-e.ru Ваш пример не совсем понятен. Первой конструкцией Вы пытались сделать тип или таблицу? По смыслу похоже на тип, только почему то написано а что, расписать идею самостийно - уже никак? там же стоит значой ~ (приблизительно таг:) "по смыслу"... мда... как-то даже трудно комментировать такие дахадки. (кстати, создание таблицы (и вью) создает и тип). однако вот вам "оттестированный" на синтаксис код. без руле, конечно - т.к. для руле по хорошему надо написать процедуру. (Шобы 1. Перерасчет Default-ов в New обойти и 2. Дубликаты в адресах не плодить.) Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.06.2007, 13:08 |
|
||
|
Объединение таблиц без join
|
|||
|---|---|---|---|
|
#18+
ElliasВ общето я думал что постгри сам должен додумываться.гм. В абщёте вы преуспели. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.06.2007, 13:11 |
|
||
|
Объединение таблиц без join
|
|||
|---|---|---|---|
|
#18+
assa msa@n-e.ru Ваш пример не совсем понятен. Первой конструкцией Вы пытались сделать тип или таблицу? По смыслу похоже на тип, только почему то написано а что, расписать идею самостийно - уже никак? там же стоит значой ~ (приблизительно таг:) "по смыслу"... мда... как-то даже трудно комментировать такие дахадки. (кстати, создание таблицы (и вью) создает и тип). однако вот вам "оттестированный" на синтаксис код. без руле, конечно - т.к. для руле по хорошему надо написать процедуру. (Шобы 1. Перерасчет Default-ов в New обойти и 2. Дубликаты в адресах не плодить.) Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. Гораздо проще ИМХО и изящней вариант с типами. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.06.2007, 13:25 |
|
||
|
Объединение таблиц без join
|
|||
|---|---|---|---|
|
#18+
msa@n-e.ru Гораздо проще ИМХО и изящней вариант с типами.глупасти-то не нада пИсать. нет никакого вар-та с типами. Ибо там нет объединения таблиц. А есть одна, бла, плоская, бла, та бла. Если это еще не доходит - просто поверьте и постарайтесь забыть. Или почитайте книшку по проектированию БД. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.06.2007, 13:42 |
|
||
|
Объединение таблиц без join
|
|||
|---|---|---|---|
|
#18+
падобраму канешна ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.06.2007, 13:43 |
|
||
|
Объединение таблиц без join
|
|||
|---|---|---|---|
|
#18+
assa msa@n-e.ru Гораздо проще ИМХО и изящней вариант с типами.глупасти-то не нада пИсать. нет никакого вар-та с типами. Ибо там нет объединения таблиц. А есть одна, бла, плоская, бла, та бла. Если это еще не доходит - просто поверьте и постарайтесь забыть. Или почитайте книшку по проектированию БД. Вариант с типами есть. И, действительно, там нет никакого объединения. Как раз то, о чем говориться в топике. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.06.2007, 13:46 |
|
||
|
Объединение таблиц без join
|
|||
|---|---|---|---|
|
#18+
msa@n-e.ruВариант с типами есть. И, действительно, там нет никакого объединения. Как раз то, о чем говориться в топике.вас еще и читать поучить? топик (пока) называется " Объединение таблиц без join " а вариант бд с одной плоской таблицей всегда есть. только это вариант не из этого топика, радной. т.ч. лучше-бы вам о нем втихую забыть и не вспоминать. тем более не писать про якобы "изячество" этого якобы "варианта". ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.06.2007, 13:51 |
|
||
|
Объединение таблиц без join
|
|||
|---|---|---|---|
|
#18+
assa msa@n-e.ruВариант с типами есть. И, действительно, там нет никакого объединения. Как раз то, о чем говориться в топике.вас еще и читать поучить? топик (пока) называется " Объединение таблиц без join " а вариант бд с одной плоской таблицей всегда есть. только это вариант не из этого топика, радной. т.ч. лучше-бы вам о нем втихую забыть и не вспоминать. тем более не писать про якобы "изячество" этого якобы "варианта". Основное в топике - это БЕЗ JOIN!!!!!! А у ВАС Код: plaintext 1. Почитать бы поучиться ВАМ. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.06.2007, 13:52 |
|
||
|
Объединение таблиц без join
|
|||
|---|---|---|---|
|
#18+
Вы сделали обыкновенный JOIN и спрятали это за "ширмочкой" под названием VIEW. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.06.2007, 13:54 |
|
||
|
Объединение таблиц без join
|
|||
|---|---|---|---|
|
#18+
...и это совсем не то, о чем спрашивает автор. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.06.2007, 13:55 |
|
||
|
Объединение таблиц без join
|
|||
|---|---|---|---|
|
#18+
msa@n-e.ru Основное в топике - это БЕЗ JOIN!!!!!! А у ВАС Код: plaintext 1. Почитать бы поучиться ВАМ.давайте не будем делать <...> допущений об основном в таком простом предложении, как наименование топика. По моему оно весьма просто, чтобы быть целиком "основным" Да и джойн у меня выступает в сокрытой от конечного пользователя реализации. Т.е. именно этой реализацией я и предоставляю конечному пользователю требуемый им синтаксис объединения без джойн ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.06.2007, 13:58 |
|
||
|
|

start [/forum/topic.php?fid=53&msg=34577620&tid=2005381]: |
0ms |
get settings: |
8ms |
get forum list: |
12ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
70ms |
get topic data: |
9ms |
get forum data: |
3ms |
get page messages: |
48ms |
get tp. blocked users: |
1ms |
| others: | 243ms |
| total: | 402ms |

| 0 / 0 |
