Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Подскажите как решить подобную задачу с помощью sql
|
|||
|---|---|---|---|
|
#18+
Доброго всем времени суток! У меня такая проблема: Есть таблица одной сущности (клиентов(clients)), с полями id, ... и т.д. Есть таблица свойств этой сущности, так называемые CLIENTS_CUSTOM_ATTRS, в которой каждой строке из CLIENTS соответствует несколько строк. Т.е. отношение один ко многим. Пример для наглядности: client_id=1 CLIENT_ID MNEMO VALUE_STRING VALUE_INTEGER VALUE_DATE VALUE_BOOLEAN ------------ ------------------------------------ --------------- ---------------- ---------------------- ---------------- 1 ca.shipping_info.name test (null) (null) (null) 1 ca.sex M (null) (null) (null) 1 ca.birth_info.birth_date (null) (null) 10/16/1976 12:00:00 AM (null) 1 ca.birth_info.birth_place Milano (null) (null) (null) Ну что-то в этом роде. Как видите задача ещё осложняется тем что поля могут быть разных типов. Задача у меня такая получить на выходе таблицу наподобии: CLIENT_ID CLIENT_NAME CLIENT_SEX CLIENT_BIRTH_DATE CLIENT_BIRTH_PLACE т.е. что бы значения строк в таблице стали именами столбцов. Осложняется все тем, что по некоторым причинам, о них умолчу, эту задачу нужно решить на уровне БД. VIEW, хранимая процедура, не важно, главное что бы это было решено на уровне БД. Помогите плиз. Если появятся какие нибудь идеи, пишите их как можно подробнее, потому как в sql я, человек не искущённый. P.S Мы используем db2 8 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.09.2007, 13:15 |
|
||
|
Подскажите как решить подобную задачу с помощью sql
|
|||
|---|---|---|---|
|
#18+
Тому, кто так проектирует базы данных - выдернуть ноги и вставить в зад. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.09.2007, 13:44 |
|
||
|
Подскажите как решить подобную задачу с помощью sql
|
|||
|---|---|---|---|
|
#18+
Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.09.2007, 14:03 |
|
||
|
Подскажите как решить подобную задачу с помощью sql
|
|||
|---|---|---|---|
|
#18+
10 уровень нормализации - вся база в одной таблице ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.09.2007, 14:06 |
|
||
|
Подскажите как решить подобную задачу с помощью sql
|
|||
|---|---|---|---|
|
#18+
Решение в лоб (для всех СУБД) Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. Делать VIEW, MQT, аль просто запрос - как пожлаете. Идея понятна? P.S. Идею прошлого оратора по поводу смены дислокации ног у проектировщика БД - полностью поддерживаю. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.09.2007, 14:08 |
|
||
|
Подскажите как решить подобную задачу с помощью sql
|
|||
|---|---|---|---|
|
#18+
golsaselect client_id , max... from clients order by CLIENT_ID 1. group вместо order 2. В else везде лучше cast(null as <corresponding_data_type>) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.09.2007, 14:20 |
|
||
|
Подскажите как решить подобную задачу с помощью sql
|
|||
|---|---|---|---|
|
#18+
Большое спасибо за пример, вы мне очень помогли. Но у меня возникла ещё одна проблема, у меня может быть такая ситуация что определенной строки например 'ca.contract_info.phone_number.nearest' вообще может не быть. Это можно как нибудь предусмотреть в запросе, который напсал golsa ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.09.2007, 15:03 |
|
||
|
Подскажите как решить подобную задачу с помощью sql
|
|||
|---|---|---|---|
|
#18+
HELP ME!!! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.09.2007, 15:35 |
|
||
|
Подскажите как решить подобную задачу с помощью sql
|
|||
|---|---|---|---|
|
#18+
а все сорри, последний вопрос снимается ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.09.2007, 15:39 |
|
||
|
Подскажите как решить подобную задачу с помощью sql
|
|||
|---|---|---|---|
|
#18+
Ещё один вопрос: Как сделать теперь count общего кол-ва выводимых строк? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.09.2007, 09:45 |
|
||
|
Подскажите как решить подобную задачу с помощью sql
|
|||
|---|---|---|---|
|
#18+
Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. При большом количестве данных в таблице clientdata надо строить индекс по MNEMO+CLIENT_ID. Желательно, сделать этот индекс кластерным. Правда, надо будет иногда запускать реорганизацию этого индекса, чтобы не снижалась эффективность кластерного индекса. При этом, ключ по полю CLIENT_ID необходим, для прямого чтения данных по заданному клиенту. Можно сделать MDC таблицу по полю MNEMO, тогда вам не прийдется заботится о проблемах кластерного индекса. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.09.2007, 09:57 |
|
||
|
|

start [/forum/topic.php?fid=43&msg=34810088&tid=1604324]: |
0ms |
get settings: |
8ms |
get forum list: |
14ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
21ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
49ms |
get tp. blocked users: |
1ms |
| others: | 256ms |
| total: | 364ms |

| 0 / 0 |
