2014-02-11 131 views
1

是否可以根據計數條件插入表(僅使用1條語句)? 我想要做這樣的事情:將SQL條件插入到

insert into [table] (...) values (...) if select count(*) from [table] < 5 

(插入表中只有同時具備少於5項)

+0

您使用的是什麼RDBS? – kyooryu

+0

標識符周圍的方括號表示sql-server,對吧? – Barmar

+0

我使用apache derby –

回答

3

嘗試這樣的事情:

insert into [table] (#FIELDS#) 
select (#VALUES#) from [table] 
where (select count(*) from [table]) < 5 
FETCH FIRST ROW ONLY 
+0

我得到語法錯誤 –

+0

@fm_strategy我的心靈感應不起作用,什麼語法錯誤? –

+0

對不起我的壞..聲明作品 –

1

你可以嘗試這樣的

insert into [table] (...) values Select (...) from [table] Where count(*) < 5 
0

在我看來,上面的解決方案不包括組通過命令。它導致錯誤。我想你想插入所有計數小於5的行,但是按某個列分組。如果我錯了,請糾正我。

例如:我們使用行「ID」和「name」的表「table」,並且我們只想選擇並插入名稱在表中不超過5次的行。

SELECT * FROM表,其中在名字

我還考慮使用成選擇命令(通過具有名稱COUNT(*)< 5選擇從表組名)。祝你好運:)

嗯,我認爲我剛剛瞭解你的問題,我認爲我的答案不是關於它。無論如何,我希望我的回答對你或其他人有幫助。

+0

沒有。我只是想確保桌子最大。 5個條目,無論某些領域是否重複。我不想驗證,我不想要團隊。我只想讓表中的最多5個條目 –