Объедините две таблицы с общими значениями, добавив счетчик, добавив остальные - PullRequest
0 голосов
/ 24 февраля 2011

У меня есть две таблицы, созданные во время выполнения, которые извлекают некоторые данные из некоторых совершенно разных таблиц и объединений и сложных выражений where, и, наконец, у меня есть эти две таблицы со столбцами, которые выглядят примерно так:

TableCars:

Id    Company    Views
```````````````````````
01    Honda        12
32    audi         6
18    BMW          3
17    Vector       5

TableBikes:

Id    Company    Views
```````````````````````
01    Honda        3
32    audi         1
19    Kawasaki     2

Примечание:
названия компаний и идентификаторы всегда будутто же самое в этих двух таблицах, например, honda = 01

Я хочу объединить эти две таблицы в том смысле, что я не хочу повторений в именах (или идентификаторах) и хочу добавить представления.Есть ли способ сделать это без использования цикла while и целого выпадения волос?

Результирующая таблица должна выглядеть примерно так:

ResultantTable

Id    Company    Views
``````````````````````
01    Honda        15
32    audi         7
18    BMW          3
17    Vector       5
19    Kawasaki     2

Заранее большое спасибо.

ps: я пытался проверить Google, наткнулся на предложение «слить», посмотрел на это, MSDN был над моей головой.Я никогда ничего не понимаю в MSDN.Интересно, есть ли другие люди, как я.

Ответы [ 2 ]

1 голос
/ 24 февраля 2011

Вы можете попробовать это:

SELECT company, SUM(views) FROM (SELECT company, views FROM first UNION ALL SELECT company, views FROM second) as t GROUP BY company

Дайте мне знать, если у вас есть какие-либо вопросы

1 голос
/ 24 февраля 2011
select id, company, sum(views) views
from
(
select id, company, views
from tablecars
union all
select id, company, views
from tablebikes
) joined
group by id, company

Вы всегда можете превратить операторы SELECT в оператор таблицы CREATE:

select id, company, sum(views) views
into NewTableName
from
(
select id, company, views
from tablecars
union all
select id, company, views
from tablebikes
) joined
group by id, company

Обычно я не рекомендую этот метод для создания постоянных таблиц.Лучше создать таблицу и вручную определить ключи, ограничения, значения по умолчанию, индексы.Если вы создадите его таким образом, вы все равно сможете добавить необходимые ключи позже, используя операторы таблицы ALTER.

Если у вас всегда будут две базовые таблицы, и вам нужны эти «объединенные» данные для запросов / отчетов, и он должен синхронизироваться с базовыми таблицами - тогда на самом деле вам нужен VIEW, использующий первый оператор SELECT.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...