Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Помогите составить запрос
|
|||
|---|---|---|---|
|
#18+
есть 2 таблицы a: поля id, data(date) и cost b: поля id, data(date) и cost. Надо выбрать 10 последних дат, записи которых есть в таблицах или а или b(то есть, есть а но может как быть так и не быть в b и наоборот) и сумму за эту дату - сумма cost из a и b(если есть в b) в зависимости от id. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.03.2005, 14:54 |
|
||
|
Помогите составить запрос
|
|||
|---|---|---|---|
|
#18+
orion2есть 2 таблицы a: поля id, data(date) и cost b: поля id, data(date) и cost. Надо выбрать 10 последних дат, записи которых есть в таблицах или а или b(то есть, есть а но может как быть так и не быть в b и наоборот) и сумму за эту дату - сумма cost из a и b(если есть в b) в зависимости от id. хм. а приоритетно откуда надо выбрать? или пофигу? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.03.2005, 15:12 |
|
||
|
Помогите составить запрос
|
|||
|---|---|---|---|
|
#18+
2 Kartas пофигу главное 10 последних. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.03.2005, 15:47 |
|
||
|
Помогите составить запрос
|
|||
|---|---|---|---|
|
#18+
примерно так: orion2есть 2 таблицы a: поля id, data(date) и cost b: поля id, data(date) и cost. Надо выбрать 10 последних дат, => подзапрос дат (SELECT date .... GROUP BY DATE .... (или DISTINCT) ... ORDER BY data DESC .... LIMIT 10) AS d orion2 записи которых есть в таблицах или а или b(то есть, есть а но может как быть так и не быть в b и наоборот) FULL JOIN USING(data) (я правильно понял, что надо проверять по датам)? orion2 и сумму за эту дату - сумма cost из a и b(если есть в b) SUM(a.cost) + SUM(b.cost) orion2 в зависимости от id. GROUP BY DATE, id уже на весь запрос - что-то наподобь: SELECT ... FROM (t1 FULL JOIN t2 USING(date,id)) INNER JOIN (...см више ...) AS d USING(date) GROUP BY DATE, id ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.03.2005, 16:18 |
|
||
|
Помогите составить запрос
|
|||
|---|---|---|---|
|
#18+
orion22 Kartas пофигу главное 10 последних. create view V1 "select * from a union select * from b" select * from V1 a1 where a1.id in (select id from V1 a2 where a1.id=a2.id order by datum desc limit 10) PS privedi explain plz ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.03.2005, 16:34 |
|
||
|
Помогите составить запрос
|
|||
|---|---|---|---|
|
#18+
KREDcreate view V1 "select * from a union select * from b" пишет ERROR: UNION types date and integer cannot be matched 2 4321 Я понимаю идею но не могу до конца допереть. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.03.2005, 16:46 |
|
||
|
Помогите составить запрос
|
|||
|---|---|---|---|
|
#18+
orion2 KREDcreate view V1 "select * from a union select * from b" пишет ERROR: UNION types date and integer cannot be matched Да. Там в таблицах a и b есть другие поля, наверное поэтому выдает такую ошибку. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.03.2005, 16:53 |
|
||
|
Помогите составить запрос
|
|||
|---|---|---|---|
|
#18+
что-то наподобь: SELECT id, date, SUM(a.cost) + SUM(b.cost) AS summa FROM (t1 FULL OUTER JOIN t2 USING(date,id)) INNER JOIN ( SELECT DISTINCT date FROM t1 FULL OUTER JOIN t2 USING(date) ORDER BY data DESC LIMIT 10 ) AS d USING(date) GROUP BY DATE, id или типа этого: SELECT id, date , SUM(cost) FROM (SELECT id, date , cost FROM t1 UNION ALL SELECT id, date , cost FROM t2) AS u WHERE u.date IN(SELECT date FROM ( SELECT date FROM t1 UNION SELECT date FROM t2 ORDER BY date DESC) AS u2 LIMIT 10) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.03.2005, 17:15 |
|
||
|
Помогите составить запрос
|
|||
|---|---|---|---|
|
#18+
2 4321 Огромное спасибо! Окончательно селект выглядит так SELECT id, date , SUM(cost) FROM(SELECT id, date , cost FROM a UNION ALL SELECT id, date , cost FROM b) AS u WHERE id=4 and u.date IN (SELECT date FROM (SELECT date FROM a where id=4 and date>date_trunc('day',now()-interval '11 day') UNION SELECT date FROM b WHERE id=4 and date>date_trunc('day',now()-interval '11 day')) as u2) GROUP BY u.id, u.date ORDER BY date DESC И что самое замечательное в таблицы > 10 млн. записей(с индексами разумеется) работает около 10 мсек. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.04.2005, 13:30 |
|
||
|
Помогите составить запрос
|
|||
|---|---|---|---|
|
#18+
Пожалуста, помогите. Уже 2-й день сижу ломаю голову над запросом, и так его и так... Работа остановилась... Есть 2 таблицы: 1. ls: поля id, idserv - хрянятся допустимые idserv для конкретного id 2. dc: поля: id, idserv, cost - хранятся цены для idserv, в зависимости от id. Также хранятся цены для idserv по умолчанию - там id=0. У одного id может быть несколько idserv, idserv может иметь свою цену для id(тогда запись id, idserv, cost есть) и цену по умолчанию(id=0) - тогда записи нет. Необходимо выбрать все idserv с ценами для конкретного id. Плиз, действительно очень нужно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.04.2005, 09:56 |
|
||
|
Помогите составить запрос
|
|||
|---|---|---|---|
|
#18+
orion2Пожалуста, помогите. Уже 2-й день сижу ломаю голову над запросом, и так его и так... Работа остановилась... Есть 2 таблицы: 1. ls: поля id, idserv - хрянятся допустимые idserv для конкретного id 2. dc: поля: id, idserv, cost - хранятся цены для idserv, в зависимости от id. Также хранятся цены для idserv по умолчанию - там id=0. У одного id может быть несколько idserv, idserv может иметь свою цену для id(тогда запись id, idserv, cost есть) и цену по умолчанию(id=0) - тогда записи нет. Необходимо выбрать все idserv с ценами для конкретного id. Плиз, действительно очень нужно. Как-то сильно сумбурно поставлена задача. Я не совсем понял зачем нужна первая таблица, если всё что надо храниться во второй. Код: 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. 27. 28. 29. 30. 31. 32. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.04.2005, 13:58 |
|
||
|
Помогите составить запрос
|
|||
|---|---|---|---|
|
#18+
mwolf Как-то сильно сумбурно поставлена задача. Я не совсем понял зачем нужна первая таблица, если всё что надо храниться во второй. Огромное спасибо, но... Приведенный селект выбирает все записи для id, даже те для которых нет idserv. Например id=39 выдает id | idserv | cost ----+------+------ 0 | 24 | 3 0 | 25 | 1 0 | 77 | 5 0 | 102 | 10 39| 105 | 10 .... А дело в том что idserv 24 для id=39 нет, - для этого и нужна первая таблица, что в ней перечислены допустимые idserv для id. Допустим для id = 39, доступен(согласно 1 табл) idserv = 23. А записи(39,23,ххх) во 2-й табл нет, тогда мы должны выбрать запись (0,23,ххх) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.04.2005, 14:22 |
|
||
|
Помогите составить запрос
|
|||
|---|---|---|---|
|
#18+
Код: plaintext 1. 2. 3. 4. 5. 6. 7. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.04.2005, 14:57 |
|
||
|
Помогите составить запрос
|
|||
|---|---|---|---|
|
#18+
mwolf Огромное спасибо! Работает! Вот правда решил немного усложнить запрос, чтоб выводилось еще название idserv - хранится в таблице idserv_descr: поля idserv, name. Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.04.2005, 16:26 |
|
||
|
Помогите составить запрос
|
|||
|---|---|---|---|
|
#18+
orion2 mwolf Огромное спасибо! Работает! Вот правда решил немного усложнить запрос, чтоб выводилось еще название idserv - хранится в таблице idserv_descr: поля idserv, name. Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. упс, все догнал. работает если написать ... WHERE t1.idserv=sid.idserv or t2.idserv=sid.idserv Еще раз mwolf огромное СПАСИБО! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.04.2005, 16:32 |
|
||
|
|

start [/forum/topic.php?fid=53&fpage=344&tid=2007323]: |
0ms |
get settings: |
11ms |
get forum list: |
19ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
46ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
62ms |
get tp. blocked users: |
2ms |
| others: | 261ms |
| total: | 424ms |

| 0 / 0 |
