我有表M1,它有两个字段M_ID和Indicator。我必须编写一个SQL查询来检索每个M_ID的数据,并在成功处理后使用update语句。
示例:M_ID
的值为1,2,3,4
等。
表格结构:
M1
:M_ID, F1, F2, F3, UpdateIndicator
F *是列。
在每次执行查询期间,我都需要检索单个M_ID
的详细信息。我无法对查询中的M_ID
值进行硬编码。
我没有太多接触SQL,作为集成DATA BASE系统的一部分,我只是在系统中使用查询来检索数据。
我试过
select * from M1
使用GROUPBY
,我在SQL中拥有最少的知识,但它返回数据库中的所有M_ID
。
输出应如下所示:
如果M_ID
的值为1,2,3,4
,则我的SQL查询应返回
row<1,F1,F2,F3,UpdateIndicator>
row<2,F4,F5,F6,UpdateIndicator>
依旧......
答案 0 :(得分:0)
通过M_ID获取数据:
SELECT * FROM M1 WHERE M_ID=1
获取所有M_ID:
SELECT M_ID FROM M1
也许,你可以用这种方式优化你的程序:
/* This will apply updates to all fields that have Indicator field set */
UPDATE M1 SET /* any fields updates */ WHERE UpdateIndicator=1
/**
* EXAMPLE:
* Inrement F1 and decrement F2 on each record that requires update
*/
UPDATE M1 SET F1=F1+1, F2=F2-1 WHERE UpdateIndicator=1