2014-10-06 5 views
0

Я пытался найти решение для этого случая.Как я могу дублировать каждую строку в sql-запросе

Сейчас я в настоящее время пытается создать и получить повторяющиеся значения в каждой строке в одной таблице

date  date_year, date_month, date_day, weeday_nm, start_time,    end_time 
2014-10-6 2014  10   6   Monday 2014-10-06 00:00:00.000,2014-10-06 23:59:59.000 
2014-10-7 2014  10   7   Tuesday 2014-10-07 00:00:00.000,2014-10-07 23:59:59.000 

В выходной, я хотел бы, чтобы просмотреть запись

date  date_year, date_month, date_day, weeday_nm, start_time,    end_time 
2014-10-6 2014  10   6   Monday 2014-10-06 00:00:00.000,2014-10-06 23:59:59.000 
2014-10-6 2014  10   6   Monday 2014-10-06 00:00:00.000,2014-10-06 23:59:59.000 
2014-10-7 2014  10   7   Tuesday 2014-10-07 00:00:00.000,2014-10-07 23:59:59.000 
2014-10-7 2014  10   7   Tuesday 2014-10-07 00:00:00.000, 2014-10-07 23:59:59.000' 
' 
' 
' 
' 
' 

Есть так много строки есть ли способ, которым я могу закончить этот случай?

+0

Так у вас есть таблица, содержащая уникальные записи, и вы хотели бы дублировать каждый из этих записей, а затем возвращает набор дубликатов? – Drew

+1

Не уверен, что именно вы ищете, но «союз всех» может помочь. выберите * из моей таблицы union all select * from mytable – NMK

+0

да, у меня есть таблица, в которой перечислены только даты в порядке, и все же я хотел бы видеть возвращаемые значения с записью, содержащей дублируемое значение в каждой строке – Steve

ответ

0

Добавить таблицу CROSS JOIN в таблицу с двумя строками - проще всего, если вы используете SQL Server 2008 или более позднюю версию, это использовать конструктор с табличной оценкой, например.

SELECT t.* 
FROM YourTable AS t 
     CROSS JOIN (VALUES (1), (2)) AS cj (Number) 

Если вы используете более раннюю версию использования:

SELECT t.* 
FROM YourTable AS t 
     CROSS JOIN (SELECT Number = 1 UNION ALL SELECT 2) AS cj; 

Таким образом, вы можете дублировать записи без необходимости читать таблицу дважды.

enter image description here

+0

большое спасибо за ответ, а также объяснение. он отлично работает – Steve

Смежные вопросы