更新总字段
我在更新表时遇到问题。遵循表结构:
Table1 tableid ... ... productID_1 productID_2 productID_3 Table2 productID Total
我必须汇总表2中的每个产品。
例如:
SELECT COUNT(*) as tot, ProductID_1 FROM Table1 GROUP Table1
然后 UPDATE table2 SET Total =
..??? (我该怎么办)WHERE ProductID_1 =
....
希望你能帮助我。
谢谢
i've a problem for a table update. follow table structure:
Table1 tableid ... ... productID_1 productID_2 productID_3 Table2 productID Total
I've to totalize each product in table2.
For example:
SELECT COUNT(*) as tot, ProductID_1 FROM Table1 GROUP Table1
then the UPDATE table2 SET total =
..??? (how can i do) WHERE productID_1 =
....
Hope you can help me.
Thank you
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
您在简化查询方面的选择很大程度上取决于您所使用的产品和版本。然而,适用于大多数数据库的解决方案是:
该查询繁琐的一个重要原因是 Table1 中的数据未标准化。相反,您应该考虑 Table1 的结构,例如:
Your options in terms of simplifying the query greatly depend on the product and version you are using. However, a solution that should work in most databases would be:
A big reason this query is cumbersome is that the data in Table1 is not normalized. Instead you should consider a structure for Table1 like:
您可以将第一个结果存储在临时表/表变量中(如果您使用的数据库支持)。例如,在 SQL Server 中,您可以执行以下操作:
如果 ProductID_2 和 ProductID_3 位于同一个表中,则可以合并结果。
然后,插入表2:
You can store the first results in a temp table/table variable (if the DB you are using supports it). For instance, in SQL Server, you can do:
If ProductID_2 and ProductID_3 are in the same table, you can union the results.
Then, insert into table 2: