sql中的列到行转换

时间:2017-11-27 12:32:33

标签: sql oracle oracle11g

嗨我有这样一张桌子

date         time    lot no   tester      result   sr1     sr2   sr3    
27/11/17     05:57     123     ABC         Pass     1       2     3    
27/11/17     05:57     123     ABC         Pass     4       5     6
27/11/17     05:57     123     ABC         fail     7       8     9

我需要这样的结果

date         time    lot no   tester      result      sr no
27/11/17     05:57     123     ABC         Pass     1
27/11/17     05:57     123     ABC         Pass     2
27/11/17     05:57     123     ABC         Pass     3
27/11/17     05:57     123     ABC         Pass     4
27/11/17     05:57     123     ABC         Pass     5
27/11/17     05:57     123     ABC         Pass     6
27/11/17     05:57     123     ABC         Fail     7
27/11/17     05:57     123     ABC         Fail     8
27/11/17     05:57     123     ABC         Fail     9

我需要查询下表 如果我没有在sr1,2上输入任何东西,那么它不应该出现在下表中,如果结果再次失败,则重新测试结果可能会变为"传递"

提前致谢

1 个答案:

答案 0 :(得分:1)

一个简单的方法是public function invoiceDetail() { return $this->hasManyThrough('App\InvoiceDetail', 'App\Item', 'category_id', 'item_id'); }

union all

如果表现是一个重要因素,还有其他方法。对于所有但非常大的表,这应该没问题。