Консолидация двух таблиц с повторяющимися результатами

#sql #sqlite #tsql

#sql #sqlite #tsql

Вопрос:

У меня возникла проблема, как запросить две таблицы, как показано на рисунке

Таблица 1

 id  module
1   Part1
2   Part2
3   Part3
4   Part4
  

Таблица 2

 id  Town 
1    Town 1
2    Town 2
3    Town 4
  

Результирующий запрос

 Module Town
Part1  Town 1
Part2  Town 1
Part3  Town 1
Part4  Town 1
Part1  Town 2
Part2  Town 2
Part3  Town 2
Part4  Town 2
Part1  Town 4
Part2  Town 4
Part3  Town 4
Part4  Town 4
  

Я попытался использовать union, но получил другой результат. Надеюсь на ваше любезное решение этой моей проблемы…

Комментарии:

1. Это называется a cartesian product . Вы можете использовать a cross join для такой вещи: select module, town from table1 cross join table2

Ответ №1:

Когда вы хотите реализовать декартово произведение, вы должны использовать CROSS JOIN оператор

Попробуйте это:

 SELECT table1.module, table2.town
FROM table1
CROSS JOIN table2
  

Вы можете посмотреть здесь об операции объединения в SQLite