Новые сообщения [новые:0]
Дайджест
Горячие темы
Избранное [новые:0]
Форумы
Пользователи
Статистика
Статистика нагрузки
Мод. лог
Поиск
|
13.09.2020, 23:24
|
|||
---|---|---|---|
|
|||
добавить условие в сложный join |
|||
#18+
Здравствуйте. Не совсем понимаю как дополнить мой запрос логическим условием. Есть 2 таблицы: описание счетчиков, показания счетчиков. id descr foreign_id20 счетчик 1 21 счетчик 2 2424 счетчик 3 id DateTime pow20 2017-02-14 18:59:07.000 23305.221 2017-02-14 18:59:07.000 31051.924 2017-02-14 18:59:07.000 60832.3 и мой запрос, который считает значение на начало дня, на конец дня и разницу между началом и концом Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19.
Результат запроса: id first_date first_value last_date last_value sum20 2017-02-14 18:59:07 23305.2 2017-02-14 23:00:01 23367.1 61.921 2017-02-14 18:59:07 31051.9 2017-02-14 23:00:01 31110.4 58.524 2017-02-14 18:59:07 60832.3 2017-02-14 23:00:01 60911.4 79.1 Мне нужно добавить условие, что если из таблицы описания счетчиков для определенного id есть значение foreign_id, то мне необходимо делать разницу не между показаниями счетчиков с id, а разницу между показаниями foreign_id Прошу помочь. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
14.09.2020, 06:45
|
|||
---|---|---|---|
добавить условие в сложный join |
|||
#18+
artgot Код: sql 1.
Одно только ЭТО отшибает фсякое желание. Чо над сервером то издеваться? ... |
|||
:
Нравится:
Не нравится:
|
|||
|
14.09.2020, 07:03
|
|||
---|---|---|---|
добавить условие в сложный join |
|||
#18+
Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12.
... |
|||
:
Нравится:
Не нравится:
|
|||
|
14.09.2020, 08:59
|
|||
---|---|---|---|
|
|||
добавить условие в сложный join |
|||
#18+
aleks222 artgot Код: sql 1.
Одно только ЭТО отшибает фсякое желание. Чо над сервером то издеваться? Подскажите что не так в этом выражении? это кусок запроса из отчёта, где пользователь может делать выборку по датам. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
14.09.2020, 09:25
|
|||
---|---|---|---|
|
|||
добавить условие в сложный join |
|||
#18+
artgot, Код: sql 1. 2. 3. 4. 5. 6. 7. 8.
И еще, так ли важно называть поля "datetime" ? ... |
|||
:
Нравится:
Не нравится:
|
|||
|
14.09.2020, 15:46
|
|||
---|---|---|---|
добавить условие в сложный join |
|||
#18+
artgot aleks222 пропущено... Одно только ЭТО отшибает фсякое желание. Чо над сервером то издеваться? Подскажите что не так в этом выражении? это кусок запроса из отчёта, где пользователь может делать выборку по датам. Индексы отдыхают, а сервер работает. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
14.09.2020, 17:33
|
|||
---|---|---|---|
|
|||
добавить условие в сложный join |
|||
#18+
aleks222 artgot пропущено... Подскажите что не так в этом выражении? это кусок запроса из отчёта, где пользователь может делать выборку по датам. Индексы отдыхают, а сервер работает. Как тогда правильно? ... |
|||
:
Нравится:
Не нравится:
|
|||
|
14.09.2020, 18:23
|
|||
---|---|---|---|
добавить условие в сложный join |
|||
#18+
artgot Как тогда правильно? Вам же aleks222 написал как надо. А Oleg_SQL еще и разжевал. Ваше Код: sql 1.
... |
|||
:
Нравится:
Не нравится:
|
|||
|
02.10.2020, 15:22
|
|||
---|---|---|---|
|
|||
добавить условие в сложный join |
|||
#18+
aleks222 Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12.
Здравствуйте. Ещё 2 вопроса: 1. как добавить в результирующую таблицу значение pow не от foreign_id, а от id, т.е. чтобы разница была как написано, а first_value и last_value от оригинального id. 2. возможно ли, выводить pow и разницу оригинального id, если в этот день не было показаний foreign_id. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
03.10.2020, 11:25
|
|||
---|---|---|---|
добавить условие в сложный join |
|||
#18+
Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21.
... |
|||
:
Нравится:
Не нравится:
|
|||
|
07.10.2020, 01:54
|
|||
---|---|---|---|
|
|||
добавить условие в сложный join |
|||
#18+
aleks222 Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21.
Спасибо, но не выводит строки, если в этом дне нет записи с foreign_id, может ли запрос возвращать с реальными значениями, если в этот день нет записи с foreign_id? Ещё вопрос, посмотрел по времени выполнения, разница по сравнению с оригинальным запросом по времени выполнения почти в 2 раза, может имеет смысл сделать хранимую процедуру для заполнения значений, чем нагружать отчеты? ... |
|||
:
Нравится:
Не нравится:
|
|||
|
07.10.2020, 10:28
|
|||
---|---|---|---|
добавить условие в сложный join |
|||
#18+
Извини, дарагой, мне уже наскучило тривиальные вещи писать. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
08.10.2020, 01:21
|
|||
---|---|---|---|
|
|||
добавить условие в сложный join |
|||
#18+
aleks222, С этим разобрался, всё понял. Могу с Вами лично пообщаться? ... |
|||
:
Нравится:
Не нравится:
|
|||
|
08.10.2020, 06:14
|
|||
---|---|---|---|
добавить условие в сложный join |
|||
#18+
artgot aleks222, С этим разобрался, всё понял. Могу с Вами лично пообщаться? Мне нечего скрывать от народа. Пиши здесь. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
08.10.2020, 10:29
|
|||
---|---|---|---|
|
|||
добавить условие в сложный join |
|||
#18+
aleks222, мне надо "допилить" отчеты (всего 3шт), есть замечания, типа вот этих, которые надо закрыть. Можем договориться с вами на консультации по TeamViewer, например, или закончить мои отчеты (думаю это не лучший вариант, чтобы во все нюансы не погружаться) на финансовой основе? ... |
|||
:
Нравится:
Не нравится:
|
|||
|
08.10.2020, 11:17
|
|||
---|---|---|---|
добавить условие в сложный join |
|||
#18+
artgot aleks222, мне надо "допилить" отчеты (всего 3шт), есть замечания, типа вот этих, которые надо закрыть. Можем договориться с вами на консультации по TeamViewer, например, или закончить мои отчеты (думаю это не лучший вариант, чтобы во все нюансы не погружаться) на финансовой основе? Не, я на коммерческой основе не консультирую. Этой фигни мне на работе хватает. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
08.10.2020, 12:08
|
|||
---|---|---|---|
|
|||
добавить условие в сложный join |
|||
#18+
aleks222, Понял , буду благодарен если поможете "точечно". Как вот это условие: where '20170214'<= [datetime] and [datetime] < '20170215' преобразовать если мне надо несколько дней учитывать (например 14, 26, 28). У меня было вот так: where day(datetime) in (14, 26, 28) Но сейчас это условие не работает. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
08.10.2020, 12:24
|
|||
---|---|---|---|
добавить условие в сложный join |
|||
#18+
artgot, заведи через with таблицу с датами и джойн на неё. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
08.10.2020, 13:34
|
|||
---|---|---|---|
добавить условие в сложный join |
|||
#18+
artgot aleks222, Понял , буду благодарен если поможете "точечно". Как вот это условие: where '20170214'<= [datetime] and [datetime] < '20170215' преобразовать если мне надо несколько дней учитывать (например 14, 26, 28). У меня было вот так: where day(datetime) in (14, 26, 28) Но сейчас это условие не работает. Код: sql 1. 2. 3. 4.
Код: sql 1.
... |
|||
:
Нравится:
Не нравится:
|
|||
|
01.11.2020, 15:51
|
|||
---|---|---|---|
|
|||
добавить условие в сложный join |
|||
#18+
aleks222 artgot aleks222, Понял , буду благодарен если поможете "точечно". Как вот это условие: where '20170214'<= [datetime] and [datetime] < '20170215' преобразовать если мне надо несколько дней учитывать (например 14, 26, 28). У меня было вот так: where day(datetime) in (14, 26, 28) Но сейчас это условие не работает. Код: sql 1. 2. 3. 4.
Код: sql 1.
Извините, я не понимаю, как эту конструкцию вставить сюда: Код: sql 1. 2. 3.
... |
|||
:
Нравится:
Не нравится:
|
|||
|
01.11.2020, 17:20
|
|||
---|---|---|---|
добавить условие в сложный join |
|||
#18+
artgot aleks222 пропущено... Код: sql 1. 2. 3. 4.
Код: sql 1.
Извините, я не понимаю, как эту конструкцию вставить сюда: Код: sql 1. 2. 3.
Код: sql 1. 2. 3. 4. 5. 6. 7.
... |
|||
:
Нравится:
Не нравится:
|
|||
|
02.11.2020, 00:13
|
|||
---|---|---|---|
|
|||
добавить условие в сложный join |
|||
#18+
aleks222 artgot пропущено... Извините, я не понимаю, как эту конструкцию вставить сюда: Код: sql 1. 2. 3.
Код: sql 1. 2. 3. 4. 5. 6. 7.
Я так понимаю, здесь должно быть select * from @dts as x where x.dt = m.datetime Но так возвращает пустой запрос. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
02.11.2020, 18:48
|
|||
---|---|---|---|
добавить условие в сложный join |
|||
#18+
artgot Но так возвращает пустой запрос. 1. У тя даты "с секундами" в таблице? Код: sql 1. 2. 3. 4. 5. 6. 7.
2. Даты то есть ли? ... |
|||
:
Нравится:
Не нравится:
|
|||
|
02.11.2020, 18:54
|
|||
---|---|---|---|
добавить условие в сложный join |
|||
#18+
Это ж фсе тупо и незатейливо проверяется Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13.
... |
|||
:
Нравится:
Не нравится:
|
|||
|
02.11.2020, 20:45
|
|||
---|---|---|---|
добавить условие в сложный join |
|||
#18+
aleks222 Чо над сервером то издеваться? Это, скорее всего, просто, сгенерированный запрос, где вместо скалярных значений может быть и список (например, в зависимости от выбора значений пользователем). Кстати, план этого запроса идентичен плану запроса с обычным сравнением. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
|
start [/forum/topic.php?fid=46&mobile=1&tid=1685454]: |
0ms |
get settings: |
9ms |
get forum list: |
13ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
29ms |
get topic data: |
10ms |
get forum data: |
3ms |
get page messages: |
57ms |
get tp. blocked users: |
1ms |
others: | 13ms |
total: | 143ms |
0 / 0 |