如何显示具有相同值的列?

时间:2016-02-16 18:57:38

标签: sql

考虑下表

id   Part_no  cust.  work_order
1    abc      xyz    111
2    abc      xyz    123
3    abc      xyz    121
4    qqq      xyz    222

现在,当我输入特定的工单时,我想要以下显示。

part_no   cust   work_order
abc       xyz     111
abc       xyz     123
abc       xyz     121   

3 个答案:

答案 0 :(得分:0)

如果您使用mysql您可以通过基于字段的值

强制执行特定订单
select part_no, cust, work_order
from your_table 
where part_no = 'abc' 
order by  FIELD(work_order,111,123,121);

for Oracle yuo可以使用decode

 select part_no, cust, work_order
from your_table 
where part_no = 'abc' 
order by  decode(work_order,111,1, 123,2,121,3);

(可能没有意义,但你可以这样做)

答案 1 :(得分:0)

您可以使用选择查询来创建如下所示的列表

SELECT Part_No, Cust, Work_Order
FROM tblA a
WHERE a.Part_No in (SELECT ai.Part_No from tblA ai where a.workorder=111)

答案 2 :(得分:0)

@Wyatt Shipman的回答应该有效。这是另一种方法:

select a.part_no, a.cust, a.work_order from thetable as a
inner join thetable as b on a.part_no = b.part_no
where a.work_order = 111;

SQL Fiddle