我需要測試我的郵件服務器。我怎樣才能做一個Select語句 選擇說ID = 5469一千次。製作SQL多次選擇同一行
回答
:
print 'wow'
go 5
輸出:
Beginning execution loop
wow
wow
wow
wow
wow
Batch execution completed 5 times.
這會給出1000行的結果集嗎? – spender 2010-03-18 19:20:56
@spender,你想看1000次樣品輸出嗎?或者是5夠了?如果你看不到5次,樣本輸出有5次,那麼你需要很多幫助。 Op從來沒有說他們想要一個具有1000行的結果集,OP說他們正在測試,並且需要一個Select語句來選擇1000個行,ID = 5469.一個1000行的選擇與單個選擇1000的測試是完全不同的倍。 – 2010-03-18 19:26:51
我只是懷疑這不是OP問的問題。據我所知,他們希望結果集與1000x相同的行。打印一個值x次是不等價的。我看到我們對所問的內容有不同的解釋,就這些。 – spender 2010-03-18 19:31:43
如果您在SQL Server這樣
declare @cnt int
set @cnt = 0
while @cnt < 1000
begin
select '12345'
set @cnt = @cnt + 1
end
select '12345'
可以是任意表達式
你可以使用UNION ALL語句。
試着這麼做:
SELECT * FROM tablename WHERE ID = 5469
UNION ALL
SELECT * FROM tablename WHERE ID = 5469
你不得不重複SELECT語句一堆次,但你可以寫一個位的VB代碼在Access創建一個動態的SQL語句,然後執行它。不漂亮,但它應該工作。
哇! 'UNION ALL'x1000 - 懷疑Access可以處理這樣的查詢=) – incarnate 2010-03-18 19:54:15
如果我明白你的意思,然後一個非常簡單的方法就是交叉上與它1000個多行的表派生查詢加入,並把頂部1000上。這會重複您的結果1000次。
編輯:作爲一個例子(這是MSSQL,我不知道,如果訪問是非常不同的)
SELECT
MyTable.*
FROM
MyTable
CROSS JOIN
(
SELECT TOP 1000
*
FROM
sysobjects
) [BigTable]
WHERE
MyTable.ID = 1234
我們可以設置一個變量而不是設置一個確切的數字嗎?例如'...從...選擇頂部@i'因爲我有一個查詢有一個名爲'number'的列,我想在'number'列時間中重複該行。例如,如果我有一個其編號列爲2的行,那麼它會重複該列兩次,並繼續爲所有行執行此操作。 – Hamed 2016-09-18 05:24:48
爲此,創建一個輔助表:
JUST_NUMBER(NUM INT primary key)
插入(與幫助的一些(VB)腳本)編號從1到N.然後執行該未連接的查詢:
SELECT MYTABLE.*
FROM MYTABLE,
JUST_NUMBER
WHERE MYTABLE.ID = 5469
AND JUST_NUMBER.NUM <= 1000
下面是一個使用遞歸公用表表達式生成一些空行的方式,那麼過加入他們返回到您所需的行:你的真正的表
declare @myData table (val int) ;
insert @myData values (666),(888),(777) --some dummy data
;with cte as
(
select 100 as a
union all
select a-1 from cte where a>0
--generate 100 rows, the max recursion depth
)
,someRows as
(
select top 1000 0 a from cte,cte x1,cte x2
--xjoin the hundred rows a few times
--to generate 1030301 rows, then select top n rows
)
select m.* from @myData m,someRows where m.val=666
替代@myData
,並改變最終謂詞來適應。
最簡單的方法是創建一個表,1000行。我們稱之爲BigTable
。然後,你會查詢你想要的數據,並與大表連接,就像這樣:
SELECT MyTable.*
FROM MyTable, BigTable
WHERE MyTable.ID = 5469
創建表#TMP1(ID INT,FLD VARCHAR(MAX)) INSERT INTO#TMP1(ID,FLD ) 值(1, '你好!'),(2, '世界'),(3, '愉快的一天!')
SELECT * FROM#TMP1 去
SELECT * FROM#TMP1哪裏ID = 3 去1000
DROP TABLE#TMP1
簡單的方法...
這個只存在一個一行到DB
sku = 52 , description = Skullcandy Inkd Green ,price = 50,00
嘗試涉及在沒有約束鍵到主表
原始查詢
SELECT Prod_SKU , Prod_Descr , Prod_Price FROM dbo.TB_Prod WHERE Prod_SKU = N'52'
該功能查詢其他表...添加一個名爲'dbo.TB_Labels'的無關表格
SELECT TOP ('times') Prod_SKU , Prod_Descr , Prod_Price FROM dbo.TB_Prod,dbo.TB_Labels WHERE Prod_SKU = N'52'
在postgres中有一個很好的函數叫做generate_series。
select information from test_table, generate_series(1, 1000) where id = 5469
這樣,執行查詢1000次:那麼PostgreSQL的,因爲它是那麼簡單。
對於PostgreSQL例子:
CREATE EXTENSION IF NOT EXISTS "uuid-ossp"; --To be able to use function uuid_generate_v4()
--Create a test table
create table test_table (
id serial not null,
uid UUID NOT NULL,
CONSTRAINT uid_pk PRIMARY KEY(id));
-- Insert 10000 rows
insert into test_table (uid)
select uuid_generate_v4() from generate_series(1, 10000);
-- Read the data from id=5469 one thousand times
select id, uid, uuid_generate_v4() from test_table, generate_series(1, 1000) where id = 5469;
正如你可以在下面的結果看,從UID讀取數據1000倍,在每一個新行通過一個新的UUID的產生證實。
id |uid |uuid_generate_v4
----------------------------------------------------------------------------------------
5469|"10791df5-ab72-43b6-b0a5-6b128518e5ee"|"5630cd0d-ee47-4d92-9ee3-b373ec04756f"
5469|"10791df5-ab72-43b6-b0a5-6b128518e5ee"|"ed44b9cb-c57f-4a5b-ac9a-55bd57459c02"
5469|"10791df5-ab72-43b6-b0a5-6b128518e5ee"|"3428b3e3-3bb2-4e41-b2ca-baa3243024d9"
5469|"10791df5-ab72-43b6-b0a5-6b128518e5ee"|"7c8faf33-b30c-4bfa-96c8-1313a4f6ce7c"
5469|"10791df5-ab72-43b6-b0a5-6b128518e5ee"|"b589fd8a-fec2-4971-95e1-283a31443d73"
5469|"10791df5-ab72-43b6-b0a5-6b128518e5ee"|"8b9ab121-caa4-4015-83f5-0c2911a58640"
5469|"10791df5-ab72-43b6-b0a5-6b128518e5ee"|"7ef63128-b17c-4188-8056-c99035e16c11"
5469|"10791df5-ab72-43b6-b0a5-6b128518e5ee"|"5bdc7425-e14c-4c85-a25e-d99b27ae8b9f"
5469|"10791df5-ab72-43b6-b0a5-6b128518e5ee"|"9bbd260b-8b83-4fa5-9104-6fc3495f68f3"
5469|"10791df5-ab72-43b6-b0a5-6b128518e5ee"|"c1f759e1-c673-41ef-b009-51fed587353c"
5469|"10791df5-ab72-43b6-b0a5-6b128518e5ee"|"4a70bf2b-ddf5-4c42-9789-5e48e2aec441"
當然其他的DB不一定具有相同的功能,但它可以做:
見here和
- 1. 多次選擇同一行
- 2. SQL選擇同一行(量)次
- 3. SQL - 選擇選擇行多次
- 4. 選擇返回同一行多次
- 5. MYSQL選擇多次同一行
- 6. 與同一列SQL選擇多行值
- 7. SELECT查詢多次選擇一行,如何只選擇一次
- 8. sql多次選擇和連接行
- 9. SQL - 如何一次選擇一行?
- 10. SQL選擇多個不同的列行作爲一列
- 11. SQL:複製一行多次,每次
- 12. SQL - 選擇列中多次
- 13. SQL選擇行只有一次
- 14. didSelectRowAtIndexPath一次選擇多個行
- 15. case語句一次選擇多行
- 16. 多表,多行SQL選擇
- 17. jquery選擇的選項多選擇作品一次
- 18. SQL更新同一行多次
- 19. 如何同一行多次與SQL
- 20. 的Sql多選擇一個行子組從同一個表
- 21. sql選擇多行到一列
- 22. 選擇多個SQL行成一排
- 23. SQL與多個行選擇一個ID
- 24. Ingres SQL選擇多行爲一列
- 25. SQL選擇多最後一行
- 26. SQL - 如何用不同的值選擇同一列兩次?
- 27. 從同一行中選擇多個值?
- 28. 火鳥SQL選擇多行
- 29. SQL - 如何選擇多行
- 30. 運行一次選擇
什麼是數據庫供應商? – 2010-03-18 19:15:26
MS Access ...使用System.OleDb :) – 2010-03-18 19:17:43
您可以使用Excel創建查詢嗎?你想建立1次查詢還是需要VBA Subroutine或函數? – THEn 2010-03-18 20:59:42