Объединить две таблицы без общего поля?
Как я могу объединить две таблицы без какого-либо общего поля?
NeverJustHere
Да. Вы можете сделать перекрестное соединение. Он соединит все строки таблицы а со всеми строками таблицы В.
Да. Вы можете сделать перекрестное соединение. Он соединит все строки таблицы а со всеми строками таблицы В.
Это действительно неортодоксально, и, надеюсь, это не что-то в производстве. Но есть несколько способов сделать это - один из них упомянут NeverJustHere - наиболее приемлемый способ достижения вашего сценария.
Вот несколько способов, которые я знаю (возможно, их будет больше)::
1. декартово произведение - в основном сопоставление каждой строки в первой таблице с каждой строкой во второй таблице. Я не знаю, нужно ли вам это, так как если у вас есть 100 строк в первой таблице и 100 строк во второй таблице, это даст вам 10 000 строк! Добиться этого:
SELECT * FROM table1, table2
SELECT column1, column2, etc FROM table1 UNION SELECT column1, column2, etc FROM table2
SELECT table1.Column1, table2.Column1 FROM table1 CROSS JOIN table2 WHERE table.Column1 = 'Some value'
SELECT table1.Column1, table2.Column2 FROM table1 INNER JOIN table2 ON 1 = 1
Это сработало для меня, так как у меня нет никакой связи между двумя таблицами, количество столбцов и тип даже не совпадают, и я хочу, чтобы данные были в одном результирующем наборе.
Выбрать таблица1.Столбец 1, Таблица 2.Столбец2 из table1
Внутреннее соединение табл. 2 на 1 = 1
;WITH T1 AS (select EmpName,Salary,ROW_NUMBER()OVER(ORDER BY (SELECT 1))AS ID FROM table1), T2 AS (select Address1,StreetName,ROW_NUMBER()OVER(ORDER BY (SELECT 1))AS ID FROM table1) SELECT T1.EMPNAME, T2.StreetName, T2.Address1 FROM T1 FULL JOIN T2 ON(T1.ID=T2.ID)
Я предполагаю, что вы ответили на этот вопрос из-за решения 2, возвращающего его в список активных сообщений через 3 года, но на самом деле вы выбираете материал из одной таблицы с помощью двух CTE (а не двух таблиц), так что на самом деле это не совсем так
Две таблицы, возвращающиеся из CTE(производные таблицы также возможны) и соединяющие данные с использованием row_num(id) в качестве отношения ,чтобы избежать M*N строк(повторяющихся строк), Я верю, что этот запрос имеет смысл
Очко - пропущено. Вы спрашиваете о том, что такой же таблица так ваш заказ по работам. Если таблицы не связаны между собой, то заказ по не обязательно будет работать, вы можете получить мусор. Вы не отвечаете на вопрос, который был задан, и на него был полностью дан ответ 3 года назад!