本帖最后由 lazygc520 于 2013-08-20 14:38:15 编辑

解决方案 »

  1.   


    大致意思是:select stock_no,packageno,lotno,count(lotno) from `stock_detail` left join `kw_manage` on `stock_detail`.cust_no = `kw_manage`.cust_no left join `barcode_2d` on `kw_manage`.packageno = `barcode_2d`.packageno
      

  2.   

    是不是我的表达有问题?其实我想要的结果就是select stock_no,cust_no from `stock_detail` order by arr_time,adress,c_type,select rkno,packageno from `kw_manage` order by rkno asc,select packageno,lotno,count(lotno) from `barcode_2d` group by lotno order by lotno,packageno asc的结果联合查询。显示字段stock_no,rkno,packageno,lotno的关系即可。
      

  3.   

    如果实在没法理解的话。那么就帮我解决下这个问题吧:如何将字段'XABEA01-120NA12X1501120N310F6 1VA5A0023'变成'310F61VA5A' ?
      

  4.   

    如何将字段'XABEA01-120NA12X1501120N310F6 1VA5A0023'变成'310F61VA5A' ?
    格式是否固定,用MID、LEFTG、RIGHT等等字符串函数即可第1个问题,要求结果是什么
      

  5.   

    1.字符串格式固定。2.3表联合查询,求解表`stock_detail`的stock_no字段,表`kw_manage`的rkno,packageno字段按rkno升序排序,表`barcode_2d`的packageno,lotno,字段按lotno,packageno升序排序的结果将3表联合查询。查询结果是stock_no,rkno,packageno,lotno。
      

  6.   


    表`stock_detail`按照arr_time,adress,c_type升序排序。
      

  7.   

    具体结果是什么,贴出来select replace(mid('XABEA01-120NA12X1501120N310F6 1VA5A0023',26,11),' ','')
      

  8.   

    是例子吗?求得的类似结果如下(图中rkno 201210180001 对应的packageno分别为CVT121015001,CVT121015002,每个packageno对应16个lotno): stock_no            rkno             packageno         lotno
    SU13080800340    201210180001       CVT121015001        2X15
    SU13080800340    201210180001       CVT121015001        2X15
    SU13080800340    201210180001       CVT121015001        2X15
    SU13080800340    201210180001       CVT121015001        2X15
    SU13080800340    201210180001       CVT121015001        2X15
    SU13080800340    201210180001       CVT121015001        2X15
    SU13080800340    201210180001       CVT121015001        2X15
    SU13080800340    201210180001       CVT121015001        2X15
    SU13080800340    201210180001       CVT121015001        2X15
    SU13080800340    201210180001       CVT121015001        2X15
    SU13080800340    201210180001       CVT121015001        2X15
    SU13080800340    201210180001       CVT121015001        2X15
    SU13080800340    201210180001       CVT121015001        2X15
    SU13080800340    201210180001       CVT121015001        2X15
    SU13080800340    201210180001       CVT121015001        2X15
    SU13080800340    201210180001       CVT121015001        2X15
    SU13080800340    201210180001       CVT121015002        2X15
    SU13080800340    201210180001       CVT121015002        2X15
    SU13080800340    201210180001       CVT121015002        2X15
    SU13080800340    201210180001       CVT121015002        2X15
    SU13080800340    201210180001       CVT121015002        2X15
    SU13080800340    201210180001       CVT121015002        2X15
    SU13080800340    201210180001       CVT121015002        2X15
    SU13080800340    201210180001       CVT121015002        2X15
    SU13080800340    201210180001       CVT121015002        2X15
    SU13080800340    201210180001       CVT121015002        2X15
    SU13080800340    201210180001       CVT121015002        2X15
    SU13080800340    201210180001       CVT121015002        2X15
    SU13080800340    201210180001       CVT121015002        2X15
    SU13080800340    201210180001       CVT121015002        2X15
    SU13080800340    201210180001       CVT121015002        2X15
    SU13080800340    201210180001       CVT121015002        2X15
      

  9.   

    select replace(mid('XABEA01-120NA12X1501120N310F6 1VA5A0023',26,11),' ','')
     是例子,自行修改你的SQL语句有问题?
    select stock_no,cust_no from `stock_detail` order by arr_time,adress,c_type,select rkno,packageno from `kw_manage` order by rkno asc,select packageno,lotno,count(lotno) from `barcode_2d` group by lotno order by lotno,packageno asc
      

  10.   

    (3, 'SU13080800340', 'B', '2013-08-14 09:00:00', 'P32E', 'K33I196', '310F61VA5A', 1, 16, '2013-08-10 15:00:00', '2013-08-10 15:30:00'),
    (4, 'SU13080800340', 'B', '2013-08-14 09:00:00', 'P32E', 'K33I195', '310F61VA5A', 2, 16, '2013-08-10 15:00:00', '2013-08-10 15:30:00'),蓝色部分代表stock_no分别对应1个和2个packageno,也就是说例中这个stock_no一共对应3个packageno。所以说最重要的部分就是用select rkno,packageno from `kw_manage` order by rkno asc的结果来对应select stock_no,cust_no from `stock_detail` order by arr_time,adress,c_type asc的结果.排在最前的3个packageno对应stock_no的结果。(例子中是2个)
      

  11.   

    取 `stock_detail`表中前3个packageno,以arr_time,adress,c_type为标准?
      

  12.   


    第一个sql语句少了asc
    查询结果如下:INSERT INTO `stock_detail` (`stock_no`, `cust_no`) VALUES
    ('SU13080800340', '310F61VA5A'),
    ('SU13080800340', '310F61VA5A'),
    ('SU13080800345', '310F61VA5A'),
    ('SU13080800345', '310F61VA5A'),
    ('SU13080800345', '310F61VA5A'),
    ('SU13080800338', '310F61VA5A'),
    ('SU13080800338', '310F61VA5A'),
    ('SU13080800346', '310F61VA5A'),
    ('SU13080800346', '310F61VA5A');第二个sql语句缺少了cust_no字段,查询结果:INSERT INTO `kw_manage` (`rkno`, `packageno`, `cust_no`) VALUES
    ('201210180001', 'CVT121015001', '310F6 1VA5A'),
    ('201210180001', 'CVT121015002', '310F6 1VA5A');又已知select stock_no,cust_no,mount from `stock_detail`where stock_no = 'SU13080800340'的结果是:INSERT INTO `stock_detail` (`stock_no`, `cust_no`, `mount`) VALUES
    ('SU13080800340', '310F61VA5A', 1),
    ('SU13080800340', '310F61VA5A', 2);其中字段mount代表每个stock_no对应的packageno的数量,也就是说例中的stock_no一共对应3个packageno。
    我需要求的核心部分就是用select rkno,packageno,cust_no from `kw_manage` order by rkno asc的结果来对应select stock_no,cust_no from `stock_detail` order by arr_time,adress,c_type asc的结果。例中是取这2个packageno的结果和stock_no对应(不足3个)
      

  13.   

    取`kw_manage`表中的按rkno升序排列的前3个packageno,(例中是2个,不足3个)。表`stock_detail`以arr_time,adress,c_type升序排列为标准的stock_no的结果和kw_manage表按rkno升序排列的前3个packageno的结果对应。
      

  14.   


    和9#类似,应该是这样的。//如果存在其他的符合条件的packageno,结果应该是这样的
    stock_no           rkno                 packageno
    SU13080800340      201210180001         CVT121015001
    SU13080800340      201210180001         CVT121015002
    SU13080800340      201210180001         CVT121015002
    SU13080800345      201210180002         ...
    SU13080800345      201210180002         ...
    ...
    不好意思,刚才网络断了
      

  15.   

    13#的第三行packageno应该是CVT121015003。复制的时候没注意。
      

  16.   

    这样的sql语句能否写的出来?
      

  17.   


    希望得到的测试结果://依据顶楼的数据,结果应该是这样的(kw_manage和stock_detail表联合查询的结果)
    stock_no           rkno                 packageno
    SU13080800340      201210180001         CVT121015001
    SU13080800340      201210180001         CVT121015002