Member 13224231 Ответов: 1

Как объединить две или более таблиц, отсортированных по дате


здравствуйте, пожалуйста, мне нужна помощь в моем школьном проекте. У меня есть таблицы try1 и try2, я хочу присоединиться к ним, показывая доходы и расходы, отсортированные с датой соответственно из try1 и try2

try1
         +------+-------+--------+--------+
         |  id  | date  | name   |expensis|
         +------+-------+--------+--------+
         |  1   |17/11/1|  shoe  |   200  |
         +------+-------+--------+--------+
         |  2   |17/11/2|  books |   300  |
         +------+-------+--------+--------+
         |  3   |17/11/2| T.fair |   400  |
         +------+-------+--------+--------+
try2
         +------+-------+--------+--------+
         |  id  | date  | name   | source |
         +------+-------+--------+--------+
         |  1   |17/11/1|  Dad   |  1000  |
         +------+-------+--------+--------+
         |  2   |17/11/2| uncle  |        |
         +------+-------+--------+--------+
         |  3   |17/11/4|  Bro   | 150    |
         +------+-------+--------+--------+
    
    RESULT
             +-------+--------+--------+
             | date  |expensis| source |
             +-------+--------+--------+
             |17/11/1|  200   |  1000  |
             +-------+--------+--------+
             |17/11/2|  300   |        |
             +-------+--------+--------+
             |17/11/2|  400   |        |
             +-------+--------+--------+
             |17/11/4|        |  150   |
             +-------+--------+--------+


Что я уже пробовал:

SELECT u.date, b.amount, h.amount
FROM
  (SELECT Date FROM try1 UNION SELECT Date FROM try2) u
  RIGHT JOIN try1 b ON u.Date=b.Date
 RIGHT JOIN try2 h ON u.Date=h.Date

José Amílcar Casimiro

выберите try2.date, try1.expensis, try2.source
от try1
правое соединение try2
на try1.дата = try2.дата

1 Ответов

Рейтинг:
0

CHill60

Хосе Амилькар Феррейра Казимиро (@jafcasimiro) дал вам одно решение.

Вот хорошая статья CodeProject для вас, чтобы лучше понять соединения
Визуальное представление SQL-соединений[^]

А вот еще один, который поможет вам понять, как работают подзапросы:
SQL Server: подзапросы[^]

Еще пара моментов ...

а) вы пытаетесь выполнить запрос по столбцам b.amount и h.amount но ни одна из таблиц не имеет такого имени столбца.

б) избегайте использования "зарезервированных слов" для имен столбцов - например date и name. Если вы их используете, то не забудьте заключить их в квадратные скобки, чтобы отличить имя столбца от типа (или другого зарезервированного слова).