如果你想插入新記錄到該表:
INSERT INTO "main"."LookUpWrkflwTemp" (Date, SpiralUniverse) VALUES('2015-11-16', (
SELECT Count (*)
FROM SpiralUniverse
WHERE Date = '2015-11-16');
OR
INSERT INTO "main"."LookUpWrkflwTemp" (Date, SpiralUniverse)
SELECT '2015-11-16', Count (*)
FROM SpiralUniverse
WHERE Date = '2015-11-16';
在這種情況下,只有當你的ROWID是自動增量,在其他列具有缺省值或可空值。
如果您將該日期放入LookUpWrkflwTemp表中,也可以插入一個新行,但在這種情況下,您將有兩行,它們具有相同的日期。你也可以UPDATE
你的排。
UPDATE "LookUpWrkflwTemp" SET SpiralUniverse = (
SELECT Count (*)
FROM SpiralUniverse
WHERE Date = '2015-11-16') WHERE Date = '2015-11-16'; -- or by rowid = x where x is the correct rows rowid
您也可以從不同的表獲得在插入多個計數:
INSERT INTO "main"."LookUpWrkflwTemp" (Date, ImportDailyList, SpiralUniverse) VALUES('2015-11-16', (
SELECT Count (*)
FROM ImportDailyList
WHERE Date = '2015-11-16'), (
SELECT Count (*)
FROM SpiralUniverse
WHERE Date = '2015-11-16');
的"main".
是沒有必要的,只要你想引用到另一個數據庫。
例如我的DB: 標籤(ID,姓名,日期) 文件(ID,最喜歡的,加...) 兩種情況下,ID是PrimaryKey的,是自動增量。
文件中的數據:
id favorite date
1 0 2015-11-30 23:25:44
2 1 2015-11-30 23:25:44
3 1 2015-11-30 23:25:44
4 0 2015-11-30 23:25:44
5 0 2015-11-30 23:40:17
標籤表空
在這種情況下:
Query executed successfully:
INSERT INTO "tags" (name)
SELECT count (*) FROM files
WHERE added = '2015-11-30 23:25:44' (took 0ms)
Tags table:
id name date
1 4 NULL
Query executed successfully:
INSERT INTO "tags" (name, date)
SELECT count (*), '2015-11-30 23:25:44' FROM files
WHERE added = '2015-11-30 23:25:44' (took 0ms)
Tags table:
id name date
1 4 NULL
2 4 2015-11-30 23:25:44
Query executed successfully:
INSERT INTO "tags" (name, date)
SELECT count (*), '2015-11-30 23:25:44' FROM files
GROUP BY favorite (took 0ms)
Tags table:
id name date
1 4 NULL
2 4 2015-11-30 23:25:44
3 3 2015-11-30 23:25:44
4 2 2015-11-30 23:25:44
Query executed successfully:
INSERT INTO "tags" (name, date)
SELECT count (*), added FROM files GROUP BY favorite, added (took 0ms)
Tags table:
id name date
1 4 NULL
2 4 2015-11-30 23:25:44
3 3 2015-11-30 23:25:44
4 2 2015-11-30 23:25:44
5 2 2015-11-30 23:25:44
6 1 2015-11-30 23:40:17
7 2 2015-11-30 23:25:44
最後一次更新:
Query executed successfully:
UPDATE tags SET name = (
SELECT count (*) FROM files WHERE added = '2015-11-30 23:25:44')
WHERE date = '2015-11-30 23:25:44' (took 0ms)
Tags table:
id name date
1 4 NULL
2 4 2015-11-30 23:25:44
3 4 2015-11-30 23:25:44
4 4 2015-11-30 23:25:44
5 4 2015-11-30 23:25:44
6 1 2015-11-30 23:40:17
7 4 2015-11-30 23:25:44
現在我清空了標籤表和我remov編輯從ID列的PrimaryKey和自動增量值,也該列具有NOT NULL屬性: 後來我嘗試運行此:
INSERT INTO "tags" (name)
SELECT count (*) FROM files
WHERE added = '2015-11-30 23:25:44'
而且我得到這個:
NOT NULL constraint failed: tags.id: INSERT INTO "tags" (name)
SELECT count (*) FROM files
WHERE added = '2015-11-30 23:25:44'
也嘗試SqliteBrowser (http://sqlitebrowser.org/)它是有用的,你可以打開sqlite數據庫,你可以運行代碼。我用這個應用程序試過這些代碼,它也顯示了sqlite異常。
所以,你想插入一個行到一個臨時表,其中計數列來形成另一個表,對吧?就這樣? – golddragon007
不是。該表是持久表,count列來自另一個表,其中日期與持久表中的日期相匹配。 – phreshsprout
您是否可以爲「LookUpWrkflwTemp」和「SpiralUniverse」以及其他涉及的表格添加示例數據,還包括您希望獲得的結果? – zedfoxus