2015-04-15 2 views
5

У меня есть очень простое заявление, например:Генерация «Поддельные» записи в запросе

SELECT pet, animal_type, number_of_legs 
FROM table 

Однако, где table в настоящее время, я хочу, чтобы вставить некоторые поддельные данные, вдоль линий:

rufus  cat  3 
franklin turtle 1 
norm  dog  5 

Возможно ли «сгенерировать» эти поддельные записи, связывая каждое значение с соответствующим полем, из запроса, чтобы они были возвращены в результате запроса?

+1

Все эти бедные обезображенные животные! –

ответ

7
SELECT pet, animal_type, number_of_legs FROM table 
union select 'rufus', 'cat', 3 
union select 'franklin', 'turtle', 1 
union select 'norm',  'dog', 5 

Это дает содержание table плюс 3 записи, которые вы хотите, избегая дублирования, если дубликаты в порядке, то замените union с union all

редактирования: за ваш комментарий, для TSQL, вы можете сделать :

select top 110 'franklin', 'turtle', 1 
from sysobjects a, sysobjects b   -- this cross join gives n^2 records 

обязательно выбрали таблицу, где п^2 больше, чем необходимые записи или перекрестное соединение снова и снова

+0

Есть ли способ «SELECT» 110 «franklin» s, т. Е. Указать, что я хочу 110 «дубликатов» franklin (число произвольно)? – Thomas

3

Я не совсем уверен, что вы пытаетесь сделать, но MySQL вполне способен выбрать данные «фиктивные» и печать в виде таблицы:

SELECT "Rufus" AS "Name", "Cat" as "Animal", "3" as "Number of Legs" 
UNION 
SELECT "Franklin", "Turtle", "1" 
UNION 
SELECT "Norm", "Dog", "5"; 

Какой бы привести:

+----------+--------+----------------+ 
| Name  | Animal | Number of Legs | 
+----------+--------+----------------+ 
| Rufus | Cat | 3    | 
| Franklin | Turtle | 1    | 
| Norm  | Dog | 5    | 
+----------+--------+----------------+ 

Выполнение этого запроса таким образом предотвращает фактическое сохранение информации во временной таблице, но я не уверен, правильно ли это делает .

+0

Sidenote: Мой ответ предполагает, что 'table' не содержит данных. Если да, используйте ответ Луиса. –

+0

Ваш ответ также «правильный»; однако для ситуации - с условием, которое вы укажете в своем комментарии, другой будет принимать «Принято». Нелегкий выбор с моей стороны! +1 – Thomas

+0

@ Томас Это не проблема, я бы тоже принял его за мою. Я просто не понимал, что в таблице есть данные, я просто предположил, что вы хотите вывести некоторые поддельные результаты. Привет, хотя! –

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