SQLite - 如何将字段值传递给WHERE子句

时间:2016-01-04 01:18:50

标签: sql sqlite

我的代码段:

UPDATE "LookUpWrkflwTemp" SET SpiralUniverse = (
SELECT Count (*)
FROM SpiralUniverse 
WHERE Date = '2015-11-16') WHERE Date = '2015-11-16';

我的目标是找到一个Date值,其中行中的其他字段为null,并将该值传递给上面的WHERE子句。

示例数据:

"SpiralUniverse"
rowid    Date       Symbol
1       2015-11-16   ACOR
2       2015-11-16   AAPL
3       2015-11-16   TSLA
4       2015-11-10   TSLA

"LookUpWrkflwTemp"
rowid    Date       SpiralUniverse
1       2015-11-10     1
2       2015-11-16     NULL

更新后,结果应为:

"LookUpWrkflwTemp"
rowid    Date       SpiralUniverse
1       2015-11-10     1
2       2015-11-16     3

上表中只有一条记录有日期值,其他字段值为空。

1 个答案:

答案 0 :(得分:1)

我认为你只需要一个相关的子查询:

UPDATE LookUpWrkflwTemp
    SET SpiralUniverse = (SELECT Count(*)
                          FROM SpiralUniverse su
                          WHERE su.Date = LookUpWrkflwTemp.Date
                         )
    WHERE SprialUniverse IS NULL;