Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/76.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql 如何查询此表以获取此结果集_Sql_Sql Server 2008 R2 - Fatal编程技术网

Sql 如何查询此表以获取此结果集

Sql 如何查询此表以获取此结果集,sql,sql-server-2008-r2,Sql,Sql Server 2008 R2,我有这个疑问 select a.ord_no,a.item_no, a.line_no, b.from_item_no_1,b.qty_1, b.from_item_no_2,b.qty_2, b.from_item_no_3, b.qty_3,b.from_item_no_4,b.qty_4 from oeordlin_progview a join oepiklst_sql b on a.ord_no = b.ord_no and a.li

我有这个疑问

             select a.ord_no,a.item_no, a.line_no, b.from_item_no_1,b.qty_1, b.from_item_no_2,b.qty_2, b.from_item_no_3, b.qty_3,b.from_item_no_4,b.qty_4 from oeordlin_progview a
             join oepiklst_sql b on a.ord_no = b.ord_no and a.line_no = b.line_seq_no

             WHERE a.ord_type = 'O' 
             AND a.loc = '1' 
             AND a.picked_dt IS NULL
             AND a.line_item_status = 'FRFIN' 
             and a.ord_no = 410672
             order by a.line_no
返回这个结果集

ord_no  item_no       line_no   from_item_no_1  qty_1   from_item_no_2  qty_2   from_item_no_3  qty_3   from_item_no_4  qty_4

00410672    12167           2   1               1.0000  2   5.0000  3   9.0000  4   13.0000
00410672    10              3   10000           1.0000  2   6.0000  3   12.0000 4   3.0000
00410672    2               4   1               1.0000  2   7.0000  3   2.0000  4   2.0000
对于每个项目编号,我如何使其看起来像这样

-------item_No 12167
ord_no, item_no, line_no,  1,    from_item_no_1,   qty_1
ord_no, item_no, line_no,  2,    from_item_no_2,   qty_2
ord_no, item_no, line_no,  3,    from_item_no_3,   qty_3
ord_no, item_no, line_no,  4,    from_item_no_4,   qty_4


-------item_No 10


-------item_No 2

我可以这样做,但它是混乱的

 select a.ord_no, a.item_no,a.line_no,1, b.from_item_no_1,b.qty_1 from oeordlin_progview a
             join oepiklst_sql b on a.ord_no = b.ord_no and a.line_no = b.line_seq_no

             WHERE a.ord_type = 'O' 
             AND a.loc = '1' 
             AND a.picked_dt IS NULL
             AND a.line_item_status = 'FRFIN' 
             and a.ord_no = 410672
             union all
select a.ord_no, a.item_no,a.line_no,2, b.from_item_no_2,b.qty_2 from oeordlin_progview a
             join oepiklst_sql b on a.ord_no = b.ord_no and a.line_no = b.line_seq_no

             WHERE a.ord_type = 'O' 
             AND a.loc = '1' 
             AND a.picked_dt IS NULL
             AND a.line_item_status = 'FRFIN' 
             and a.ord_no = 410672
             union all
select a.ord_no, a.item_no,a.line_no,3, b.from_item_no_3, b.qty_3 from oeordlin_progview a
             join oepiklst_sql b on a.ord_no = b.ord_no and a.line_no = b.line_seq_no

             WHERE a.ord_type = 'O' 
             AND a.loc = '1' 
             AND a.picked_dt IS NULL
             AND a.line_item_status = 'FRFIN' 
             and a.ord_no = 410672
              union all
 select a.ord_no, a.item_no,a.line_no,4,b.from_item_no_4,b.qty_4 from oeordlin_progview a
             join oepiklst_sql b on a.ord_no = b.ord_no and a.line_no = b.line_seq_no

             WHERE a.ord_type = 'O' 
             AND a.loc = '1' 
             AND a.picked_dt IS NULL
             AND a.line_item_status = 'FRFIN' 
             and a.ord_no = 410672
             order by line_no

听起来你需要使用unpivot所以。。。oepiklst_sql表中的每个数字都有单独的列,从_item_no_'?或仅一列用于“从项目编号”和“数量”?分开。。。。。。。。。。。。。。。。