Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Помогите разобраться в SQL
|
|||
|---|---|---|---|
|
#18+
Добрый день! Есть 2 таблица в SQL SERVERе. Я их объединил(UNION ALL). Теперь как получить как на картинке(Результат) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.04.2018, 06:46 |
|
||
|
Помогите разобраться в SQL
|
|||
|---|---|---|---|
|
#18+
SMART_001, Код: sql 1. 2. 3. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.04.2018, 06:54 |
|
||
|
Помогите разобраться в SQL
|
|||
|---|---|---|---|
|
#18+
Kopelly, Спасибо! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.04.2018, 07:00 |
|
||
|
Помогите разобраться в SQL
|
|||
|---|---|---|---|
|
#18+
Код: sql 1. 2. 3. Но работать будет только, если тип " 0 as summa2" будет тем же, что и "summa1" ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.04.2018, 07:01 |
|
||
|
Помогите разобраться в SQL
|
|||
|---|---|---|---|
|
#18+
982183, Спасибо, получается, Select ab4.TV as TV, ab4.SM as SM, ab4.Y as Y FROM (Select TV1 AS TV, SUM(summa1) as SM1, 0 as SM2, y1 AS Y from table_1 Union all Select TV2 AS TV, 0 as SM1, SUM(summa2) as SM2, y2 AS Y from table_2) ab4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.04.2018, 07:14 |
|
||
|
Помогите разобраться в SQL
|
|||
|---|---|---|---|
|
#18+
В крайнем случае если будут не целые числа summa1, 0*summa1 as summa2 0*summa2 as summa1, summa2 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.04.2018, 07:18 |
|
||
|
Помогите разобраться в SQL
|
|||
|---|---|---|---|
|
#18+
982183, Почему 0 надо умножать Select ab4.TV as TV, ab4.SM1 as SM1,ab4.SM2 as SM2, ab4.Y as Y FROM (Select TV1 AS TV, SUM(summa1) as SM1, 0*summa1 as SM2, y1 AS Y from table_1 Union all Select TV2 AS TV, 0*summa2 as SM1, SUM(summa2) as SM2, y2 AS Y from table_2) ab4 group by ab4.TV order by 1 asc ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.04.2018, 07:26 |
|
||
|
Помогите разобраться в SQL
|
|||
|---|---|---|---|
|
#18+
0 as - тип получится скорее всего INT 0*summa1/2 as - тип получится скорее всего тот же, что и у summa1/2 Если summa1/2 с типом FLOAT, то UNION ALL может и не сработать ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.04.2018, 07:32 |
|
||
|
Помогите разобраться в SQL
|
|||
|---|---|---|---|
|
#18+
982183тип получится скорее всего982183тип получится скорее всего тот жеА прочитать не судьба? Приоритет типов данных (Transact-SQL) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.04.2018, 10:45 |
|
||
|
Помогите разобраться в SQL
|
|||
|---|---|---|---|
|
#18+
iap, ну и сразу же и https://docs.microsoft.com/en-us/sql/t-sql/language-elements/operator-precedence-transact-sql ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.04.2018, 10:47 |
|
||
|
Помогите разобраться в SQL
|
|||
|---|---|---|---|
|
#18+
Спасибо! теперь сортировать по MAX(ab4.SM2) и вывести TOP 3 Select TOP 3 ab4.TV as TV, ab4.SM1 as SM1,ab4.SM2 as SM2, ab4.Y as Y FROM (Select TV1 AS TV, SUM(summa1) as SM1, 0 as SM2, y1 AS Y from table_1 Union all Select TV2 AS TV, 0 as SM1, SUM(summa2) as SM2, y2 AS Y from table_2) ab4 where MAX(ab4.SM1) group by ab4.TV order by 1 asc ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.04.2018, 12:45 |
|
||
|
Помогите разобраться в SQL
|
|||
|---|---|---|---|
|
#18+
SMART_001, 1. Группировка производится после отсева по Where. Проверять соответствие MAX(ab4.SM1) можно в Having, например MAX(ab4.SM1) > 1000. Но это не твой случай (тебя интересуют не конкретные значения) 2. В твоем случае нужно выбрать первые три записи (Top 3) из отсортированной по ab4.SM2 таблицы (Order by ab4.SM2 Desc) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.04.2018, 14:14 |
|
||
|
|

start [/forum/topic.php?fid=46&msg=39624440&tid=1689973]: |
0ms |
get settings: |
12ms |
get forum list: |
18ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
39ms |
get topic data: |
15ms |
get forum data: |
4ms |
get page messages: |
74ms |
get tp. blocked users: |
2ms |
| others: | 249ms |
| total: | 421ms |

| 0 / 0 |
