特战队员 发表于 2017-1-3 11:13:42

语句运行结果不符合预期,形成卡迪尔积了

从表t2、t3中找到符合条件的记录,然后把记录中的值计算后分别填入表t1第一行的col1、col2字段中去。依此类推填入t1的第2、3。。。行。
我写的语句:
INSERT INTO t(col1,col2)   
    SELECT t1.a+t2.b,t1.c*t2.d
      FROM t1,t2
             WHERE t1.a=t2.b AND t1.c=t2.d;
结果是,把符合条件的填入t1第一行的col1中,然后col2的值不是按预期填入同一行的col2中,而是填入下一行的col2中去,该怎么改?

kider 发表于 2017-1-3 16:02:48

要看看你的主键,或where条件中的字段索引情况,来确定数据被检索出来是否是你想要的,先弄正确你的select出的结果,再套用insert...
页: [1]
查看完整版本: 语句运行结果不符合预期,形成卡迪尔积了