|
Вывод из двух таблиц с добавлением столбца
|
|||
---|---|---|---|
#18+
Здравствуйте. Проблема такая. Имеется две таблицы Tab1 и Tab2 (имена такие, чтобы удобнее было понимать как с ними работать). В них есть столбцы ls, pu и other (имена одинаковые во обеих таблицах). Раньше мне требовалось просто их объединить. Я делал так: Код: sql 1.
И все было замечательно, пока не понадобилось посчитать количество уникальных значений столбца ls для первой таблицы (или для второй, без разницы). То есть сколько в ls там двоек, сколько троек и т.д. То есть если там в таблице запись содержит ls = 1 то в новую колонку надо записать количество единичек (допустим всего 5) и так далее. Отдельный запрос как сделать я нашел: Код: sql 1.
Это работает. Но как мне объединить эти два запроса в один? Так как знаний маловато, я конечно попробовал UNION... Версия Microsoft SQL Server 2019 (RTM) - 15.0.2000.5 (X64) Sep 24 2019 13:48:23 Copyright (C) 2019 Microsoft Corporation Express Edition (64-bit) on Windows 10 Pro 10.0 <X64> (Build 19042: ) ... |
|||
:
Нравится:
Не нравится:
|
|||
25.03.2021, 14:26 |
|
Вывод из двух таблиц с добавлением столбца
|
|||
---|---|---|---|
#18+
Что-то тяжко понять, что нужно... Вы покажите на примере, что ли - исходные данные (по 3-5 записей) да требуемый результат... ... |
|||
:
Нравится:
Не нравится:
|
|||
25.03.2021, 16:10 |
|
Вывод из двух таблиц с добавлением столбца
|
|||
---|---|---|---|
#18+
Смотрите, например Tab1 https://ibb.co/LCmHh8Y ls pu other 1 22 55 1 12 23 2 1 46656 3 66 4545 6 7 12 Tab2 https://ibb.co/dkDmpKF ls pu other 3 2 55 6 4 23 2 6 266 3 66 15 6 7 12 Запрос должен достраивать после объединения столбец, ну пусть будет coun, название его сейчас не важно. Должно получиться что-то типа такого: ls pu other ls pu other coun 1 22 55 NULL NULL NULL 2 1 12 23 NULL NULL NULL 2 2 1 46656 2 6 266 1 3 66 4545 3 2 55 1 3 66 4545 3 66 15 1 6 7 12 6 4 23 1 6 7 12 6 7 12 1 Пока что я могу только объединить таблицы, но не получается посчитать там же, в одном запросе, еще и дополнительную колонку coun. https://ibb.co/dphSdCW То есть в coun он заносит сколько таких значений встречается в первой таблице. В первой таблице в колонке ls два значения 1. Остальных по одному. Почему то не показывает рисунки :( . ... |
|||
:
Нравится:
Не нравится:
|
|||
25.03.2021, 17:20 |
|
Вывод из двух таблиц с добавлением столбца
|
|||
---|---|---|---|
#18+
Tab1 Tab2 Объединение таблиц к которым нужно достроить один столбец Извините, не понял сначала как прикладывать картинки ... |
|||
:
Нравится:
Не нравится:
|
|||
25.03.2021, 17:34 |
|
Вывод из двух таблиц с добавлением столбца
|
|||
---|---|---|---|
#18+
xolon, так? Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19.
... |
|||
:
Нравится:
Не нравится:
|
|||
25.03.2021, 17:43 |
|
Вывод из двух таблиц с добавлением столбца
|
|||
---|---|---|---|
#18+
komrad, Типа такого да, но там же не имена столбцов, а конкретные значения. А если их там будут тысячи? Да быстрее их вручную в Эксель перегнать тогда и там искать. А результат да, такой какой нужен. Извините, я плохо знаю SQL. Что делает первая часть? Вторая получается и есть то, что мне нужно? Вы могли бы общими словами объяснить, что там происходит в запросе? Я хочу понять, а не только получить готовый результат... ... |
|||
:
Нравится:
Не нравится:
|
|||
25.03.2021, 17:47 |
|
Вывод из двух таблиц с добавлением столбца
|
|||
---|---|---|---|
#18+
xolon Что делает первая часть? Вторая получается и есть то, что мне нужно? первая часть изображает "на лету" две таблицы, которые есть у вас в базе или то, что вы привели в качестве примера вторая часть (select ...) соединяет эти таблицы и считает значения первая часть называется CommonTableExpression, забудьте про нее она приведена для того, чтобы нарисовать исходные данные и проверить результат запроса ... |
|||
:
Нравится:
Не нравится:
|
|||
25.03.2021, 18:06 |
|
Вывод из двух таблиц с добавлением столбца
|
|||
---|---|---|---|
#18+
komrad, спасибо! Получается мне нужно было использовать условие отбора where вместо group by ? ... |
|||
:
Нравится:
Не нравится:
|
|||
25.03.2021, 18:41 |
|
Вывод из двух таблиц с добавлением столбца
|
|||
---|---|---|---|
#18+
xolon komrad, спасибо! Получается мне нужно было использовать условие отбора where вместо group by ? получается что: 1) вам нужно было использовать вложенный подзапрос 2) передавать ему tab1.ls для подсчета необходимых данных ... |
|||
:
Нравится:
Не нравится:
|
|||
25.03.2021, 18:45 |
|
|
start [/forum/topic.php?fid=46&fpage=29&tid=1684907]: |
0ms |
get settings: |
8ms |
get forum list: |
11ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
34ms |
get topic data: |
11ms |
get forum data: |
2ms |
get page messages: |
50ms |
get tp. blocked users: |
1ms |
others: | 321ms |
total: | 444ms |
0 / 0 |