- r - 以节省内存的方式增长 data.frame
- ruby-on-rails - ruby/ruby on rails 内存泄漏检测
- android - 无法解析导入android.support.v7.app
- UNIX 域套接字与共享内存(映射文件)
我有一个名为 Price 的 SQLite 表,如下所示:
date, productId, price
----------------------
20120601, 10 , 10.1
20120601, 20 , 20.1
20120602, 10 , 0
20120602, 20 , 0
20120602, 30 , 0
表是用这个语句创建的:
CREATE TABLE "Price" ("date" INTEGER NOT NULL , "productId" INTEGER NOT NULL , "price" DOUBLE, PRIMARY KEY ("date", "productId"))
我想把date==20120602的价格填成上一个日期同种商品的价格。
即我希望表格变成这样:
date, productId, price
----------------------
20120601, 10 , 10.1
20120601, 20 , 20.1
20120602, 10 , 10.1
20120602, 20 , 20.1
20120602, 30 , 0
所以我尝试了这个 SQL 语句:
UPDATE Price New SET New.price =
(SELECT old.price FROM Price Old WHERE New.date == 2 AND Old.date == 1 AND New.productId == Old.productId)
但是 SQLite 在点附近给了我一个错误。
比我试过这个声明:
UPDATE New Set New.Price = Old.Price
FROM Price New, Price Old
WHRER ......
SQLite 在 FROM 附近给了我一个错误。
我仔细检查了 SQLite 的 SQL 语法,但发现运气不好。即使我从未尝试过,我认为这两个语句在 MS SQL Server 中都能按预期工作。如果新表和旧表差异太大,第一个语句可能会起作用,但我需要它们在同一个表中。
我真的不想写一个 for 循环来更新我的 C++ 代码中的一行,我需要有关在 SQLite 中实现此目的的正确方法的建议。
谢谢。
最佳答案
我自己也有过这样的经历。只需在 UPDATE Price
之后删除单词 New
并且在任何使用 New.something
的地方更改为 Price.something
。我确信有更好的解决方案,但它确实有效。
更新了评论中的代码片段...
UPDATE Price
SET
price = (SELECT old.price FROM Price Old WHERE Old.date = 1 AND price.productId = Old.productId)
WHERE price.date = 2
关于UPDATE 语句中表名的 SQLite 别名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10772642/
我有一张用户表 users +------+ - user_id ... ... - updated_by 据我所知,updated_by 列应该在 user_id 列上引用此表。我不确定,这
我是 SQL 新手,我有 2 个包含这些列的表: table structures__|id|name|nation_id|image| table nations______|id|nation|
我正在使用 codeigniters sql 选择来选择不在一组 id 中的用户。 $this->db->select('fbuid')->where_in('fbuid', $friends); $
找不到具体的答案所以我想问一下。简而言之,我有一个表,它根据存储在我的数据库中的数据从 API 检索信息,我想要做的就是从该表中获取某些列的总数,而不是全部列,以便我可以在其他地方使用它们网站。例如,
这是 phpMyAdmin 为我生成的 SQL 语句: SELECT * FROM `table_name` WHERE 1 可以看到 table_name 被 ` 字符包围。 为什么? 最佳答案 用
我有两个这样的表 我想在这里从 Table1 插入到 Table2。这就是我想要的。 取 MOU = 10。它在同一行中有 num1 和 hour1。我想将它插入到与 num1 同一行与 hour1
我的任务是使用 C++ 编写一个程序,以使用 Gamma 分布计算概率。如果我已经找到函数值,如何将其更改为 Gamma 分布表中的值?我不知道公式。 例如Fg(8;8),在表中为0.5470。而表中
我在查看 HTML 电子邮件时遇到问题,需要格式化 css 以与 HTML 脚本内联。 我有多个表使用的以下 td css。 td.gridtopleft { border-left: solid
我正在使用来自 pip 的最新 sqlalchemy 和最新的 pymssql 连接 mssql 服务器 8.00.2039(2005 年?)困难在于表和列名称是俄语。是否可以用 sqlalchemy
我有一个有趣的问题 - 我需要 JOIN 语句的完全相反。 我有一个名为 invoices 的表和另一个名为 payments 的表。我想按顺序检索没有任何付款的发票,但之后是有付款的行。 发票表有这
我有两个表: 主题:[id, ...] 类别:[主题.id, ...] 我想从表 #1 中选择所有主题,但不包含 #2(类别)中的条目。 任何提示表示赞赏(: 最好的问候 最佳答案 Sachin 已经
MYSQL: 我正在使用表 information_schema.tables 中的 AUTO_INCRMENT 列来获取下一个 id。 如下: SELECT AUTO_INCREMENT FROM
我是一名优秀的程序员,十分优秀!