|
|
|
Помощь с запросом
|
|||
|---|---|---|---|
|
#18+
Здравствуйте, помогите пожалуйста разобраться с запросом Есть две базы t1, вот такая id price 1 1000 2 2000 3 3000 И t2 вот такая база id price date 3 1000 01.10.2012 3 2000 05.10.2012 3 5000 09.10.2012 3 4000 10.10.2012 3 3500 11.10.2012 3 2500 12.10.2012 1 1500 02.10.2012 Нужно чтобы sql-запрос по определенному id(например 3) и в заданном промежутке времени(например с 01.10.2012 по 10.10.2012), возвращал вот такую таблицу date price 01.10.2012 1000 02.10.2012 3000 03.10.2012 3000 04.10.2012 3000 05.10.2012 2000 06.10.2012 3000 07.10.2012 3000 08.10.2012 3000 09.10.2012 5000 10.10.2012 4000 Другими словами, чтобы на определенную дату запрос возвращал цену из первой таблицы, если цена не указана в таблице два ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.09.2013, 15:02:53 |
|
||
|
Помощь с запросом
|
|||
|---|---|---|---|
|
#18+
Linkos, а принципиально это делать одним запросом? Проще сделать в несколько запросов. 1. сформировать временную таблицу с диапазоном дат. 2. делать запрос связывающий 3 таблицы ( 2 с данными с временной с датами) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.09.2013, 15:40:40 |
|
||
|
Помощь с запросом
|
|||
|---|---|---|---|
|
#18+
Думаю можно несколькими главное, чтоб на выходе получалось нужная таблица. Порылся в интернете собрал такой запрос: SELECT '2012-09-30' + INTERVAL (@rn := @rn + 1) DAY date,price FROM (SELECT 1 a UNION ALL SELECT 3 UNION ALL SELECT 3 UNION ALL SELECT 4) a, (SELECT 1 a UNION ALL SELECT 2 UNION ALL SELECT 3 UNION ALL SELECT 4) b, (SELECT @rn := 0) xx INNER JOIN t1 ON id=3 LIMIT 10; Но как сделать чтоб он для определенной даты брал цену из второй таблицы не знаю:( ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.09.2013, 15:52:44 |
|
||
|
Помощь с запросом
|
|||
|---|---|---|---|
|
#18+
Linkos, просто делаете проверку в select http://dev.mysql.com/doc/refman/5.0/en/control-flow-functions.html ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.09.2013, 15:57:22 |
|
||
|
Помощь с запросом
|
|||
|---|---|---|---|
|
#18+
Не могли бы продемонстрировать как это выглядит? Я не очень понимаю где разместить этот еще один селект ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.09.2013, 16:20:39 |
|
||
|
Помощь с запросом
|
|||
|---|---|---|---|
|
#18+
Linkos, создается временная табличка с полями даты и поле id заполняются даты и id равным значению в поиске. Пример: Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. Потом запрос следующий: Код: sql 1. 2. 3. 4. 5. 6. Результат, по приведенным данным: Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.09.2013, 17:22:50 |
|
||
|
|

start [/forum/topic.php?fid=47&msg=38390043&tid=1836097]: |
0ms |
get settings: |
6ms |
get forum list: |
10ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
44ms |
get topic data: |
8ms |
get forum data: |
1ms |
get page messages: |
38ms |
get tp. blocked users: |
1ms |
| others: | 195ms |
| total: | 307ms |

| 0 / 0 |
