sql - 选择语句中的重复数据
问题描述
我想对程序进行压力测试,而不是生成 .csv 文件。问题是我没有足够的数据,所以我想在我的 sql select 中复制数据。
查询如下所示:
SELECT P.FST_NAME,
P.LAST_NAME,
P.EMAIL_ADDR,
P.PERSON_UID,
PR.FST_NAME PRSP_FST_NAME,
PR.LAST_NAME PRSP_LAST_NAME,
M.X_BAPRO_DT_01,
M.X_BAPRO_DT_02,
M.X_BAPRO_DT_03,
M.X_BAPRO_MONTO,
M.X_BAPRO_NUM_01,
M.X_BAPRO_NUM_02,
M.X_BAPRO_NUM_03,
M.X_BAPRO_TEXT_01,
M.X_BAPRO_TEXT_02,
M.X_BAPRO_TEXT_03,
M.X_BAPRO_TEXT_04,
M.X_BAPRO_TEXT_05
FROM SIEBEL.S_SRC C
left join SIEBEL.S_CAMP_CON M on C.ROW_ID = M.SRC_ID
left join SIEBEL.S_DMND_CRTN_PRG T on T.ROW_ID = M.DCP_ID
left join SIEBEL.S_CONTACT P on P.ROW_ID = M.CON_PER_ID
left join SIEBEL.S_PRSP_CONTACT PR on PR.ROW_ID= M.PRSP_CON_PER_ID
WHERE
C.ROW_ID <> p_row_id
所以,这个查询返回大约 100 条记录,我想检索 1000 条记录,我真的不在乎数据是否重复。
解决方案
您可以添加一个cross join
:
FROM SIEBEL.S_SRC C
left join SIEBEL.S_CAMP_CON M on C.ROW_ID = M.SRC_ID
left join SIEBEL.S_DMND_CRTN_PRG T on T.ROW_ID = M.DCP_ID
left join SIEBEL.S_CONTACT P on P.ROW_ID = M.CON_PER_ID
left join SIEBEL.S_PRSP_CONTACT PR on PR.ROW_ID= M.PRSP_CON_PER_ID
cross join (select 1 as n from dual union all
select 2 from dual
. . .
) x
推荐阅读
- mysql - Mariadb:ER_PARSE_ERROR,如何解决?
- python-sphinx - 无效的“requirements_file”:路径 docs/requirements.txt 不存在
- macos - MacOS 上的 Sublime SFTP - 如何将文件保存到其他位置?
- python - 如何使用运行多个线程或进程并在 python 中完成时获得结果?
- django - 芹菜不运行简单的打印
- go - Golang 中的 Broadcast()
- for-loop - FizzBuzz 解决方案上的意外令牌
- android - 现场广播卡在缓冲中:Exoplayer
- scala - 获取不同类型的关系
- scala - 如何在 IntellijIdea scala 插件中禁用方法返回类型提示