Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Сумма строк одной таблицы по разным условиям
|
|||
|---|---|---|---|
|
#18+
Добрый день, подскажите, пожалуйста решение. Есть две таблицы в каждой из которых несколько разных типов записей. В первой таблице два типа записей. Во второй таблице три типа записей. Нужно в одном запросе получить: 1. По типу записей №1 из таблицы №1 сумма записей типа записей №1 из таблицы №2. 2. По типу записей №1 из таблицы №1 сумма записей типа записей №2 из таблицы №2. 3. По типу записей №1 из таблицы №1 сумма записей типа записей №3 из таблицы №2. 4. По типу записей №2 из таблицы №1 сумма записей типа записей №1 из таблицы №2. 5. По типу записей №2 из таблицы №1 сумма записей типа записей №2 из таблицы №2. 6. По типу записей №2 из таблицы №1 сумма записей типа записей №3 из таблицы №2. Пытался использовать запрос например: SELECT COUNT(distinct CASE WHEN (A.Type = '1' AND B.Type = '1' ) then '1' ELSE NULL END) AS 'Тип 1' FROM Table1 AS A JOIN Table2 B ON A.Id=B.Id но не хватает навыков и знаний. Заранее спасибо! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.08.2019, 11:58 |
|
||
|
Сумма строк одной таблицы по разным условиям
|
|||
|---|---|---|---|
|
#18+
... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.08.2019, 17:16 |
|
||
|
Сумма строк одной таблицы по разным условиям
|
|||
|---|---|---|---|
|
#18+
Chpoki,Microsoft SQL Server Management Studio 14.0.17177.0 Использую скрипт: SELECT A.Name, CASE WHEN B.Type=3 then '3' WHEN B.Type=2 then '2' END as 'Тип', COUNT(distinct C.Id), CASE WHEN T.ModelId = 1 then COUNT(distinct T.Id)END as '1', CASE WHEN T.ModelId = 2 then COUNT(distinct T.Id)END as '2', CASE WHEN T.ModelId = 3 then COUNT(distinct T.Id)END as '3' FROM [Table1] AS A LEFT JOIN [Table2] AS B LEFT JOIN [Table3] AS C WHERE B.Type='3' OR B.Type='2' AND C.ModelId like '1' OR C.ModelId like '2' OR C.ModelId like '3' GROUP BY A.Name, B.Type, C.ModelId ORDER BY A.Name ASC В результате должен быть список имен (A.Name) которые бывают двух типов (B.Type 2 и B.Type 3) с указанием суммы единиц каждой модели, всего три (T.ModelId) и если нет, то пусто. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.08.2019, 20:37 |
|
||
|
Сумма строк одной таблицы по разным условиям
|
|||
|---|---|---|---|
|
#18+
Chpoki, Бог его знает, что Вам надо. Вот для начала Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.08.2019, 08:11 |
|
||
|
|

start [/forum/topic.php?fid=46&msg=39844914&tid=1687455]: |
0ms |
get settings: |
7ms |
get forum list: |
13ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
26ms |
get topic data: |
7ms |
get forum data: |
2ms |
get page messages: |
31ms |
get tp. blocked users: |
2ms |
| others: | 250ms |
| total: | 342ms |

| 0 / 0 |
