我有一个非常基本的陈述,例如:
SELECT pet, animal_type, number_of_legs
FROM table
但是,在table
当前的位置,我想插入一些假数据,如下所示:
rufus cat 3
franklin turtle 1
norm dog 5
是否可以“生成”这些虚假记录,将每个值与相应字段相关联,从查询中将它们作为查询结果返回?
答案 0 :(得分: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
请务必选择一个表格,其中n ^ 2大于所需记录或反复交叉加入
答案 1 :(得分:3)
我不完全确定你要做什么,但MySQL完全有能力选择" mock"数据并将其打印在表格中:
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 |
+----------+--------+----------------+
以这种方式执行此查询可防止实际上必须将信息保存在临时表中,但我不确定它是否是正确的处理方式。