本帖最后由 xiaoyuanyuan2009 于 2011-05-17 10:10:48 编辑

解决方案 »

  1.   

    第一个,你没有关联LSB,就直接读这个表里的字段,当然是错的了。
    第二个,你的表里不设置主键吗?delete from lsb_rkzl  where  (lsb_rkzl.单号,      lsb_rkzl.品名 ,    lsb_rkzl.供货商编号  ,    lsb_rkzl.颜色 ,    lsb_rkzl.规格   ,   lsb_rkzl.单位 ) in select (
    lsb_rkzl.单号,      lsb_rkzl.品名 ,    lsb_rkzl.供货商编号  ,    lsb_rkzl.颜色 ,    lsb_rkzl.规格   ,   lsb_rkzl.单位 from lsb_rkzl left join lsb_kczl where  lsb_rkzl.单号 = lsb_kczl.单号     \
         lsb_rkzl.品名 = lsb_kczl.品名     \
         lsb_rkzl.供货商编号 = lsb_kczl.供货商编号 \
         lsb_rkzl.颜色 = lsb_kczl.颜色     \
         lsb_rkzl.规格 = lsb_kczl.规格     \
         lsb_rkzl.单位 = lsb_kczl.单位");
      

  2.   

    1、上面的 SELECT .... WHERE ... 语句为什么错呢? 
    LSB没有出现在FROM后面即使把 FROM 后面在加一个 FROM “入库单表, LSB” 也是错的。
    语法错误2、上面的 SELECT .... INNER JOIN .... 语句为什么对呢?
    语法正确delete a from lsb_rkzl a inner join lsb_kczl b
    on a.单号 = b.单号 and ...
      

  3.   

    1楼的 DELETE 语句用了 IN,IN 相当于 OR,咱要用 AND 才行啊
      

  4.   

    mysql> SELECT 入库单表.单号 FROM 入库单表 WHERE 入库单表.单号 = LSB.单号;
    ERROR 1054 (42S22): Unknown column 'LSB.鍗曞彿' in 'where clause'你的FROM中哪儿有LSB表啊?!
      

  5.   


    我试过添加 LSB 表,也不好使
      

  6.   

    2、上面的 SELECT .... INNER JOIN .... 语句为什么对呢?
    加上不是已经对了吗?
      

  7.   


    用 INNER JOIN...ON 是对的
    用 FROM XX , XX WHERE ....  是错的
      

  8.   

    先不研究这个 SELECT 了,可能是我没设置主键的原因,既然那个成功就用那个吧。
    帮我研究下 DELETE 语句