这是我在论坛上的第一个问题,但修复我的问题需要很长时间。
说明:
在样本中,如果成本代码" C"在该范围内,其他行也应包含在列表中。
INVOICE|VEHICLE|JOB_DATE|COSTCODE|TOTAL|
2017001|UNIT001|01012017| A | 100| - OK
2017001|UNIT001|01012017| C | 100| - OK
2017001|UNIT002|01012017| A | 100| - FALSE
2017001|UNIT002|01012017| B | 100| - FALSE
2017001|UNIT003|01012017| A | 100| - OK
2017001|UNIT003|01012017| C | 100| - OK
2017022|UNIT001|22012017| A | 100| - OK
2017022|UNIT001|22012017| C | 100| - OK
2017022|UNIT004|22012017| A | 100| - FALSE
2017022|UNIT004|22012017| B | 100| - FALSE
Expected result:
INVOICE|VEHICLE|JOB_DATE|COSTCODE|TOTAL|
2017001|UNIT001|01012017| A | 100|
2017001|UNIT001|01012017| C | 100|
2017001|UNIT003|01012017| A | 100|
2017001|UNIT003|01012017| C | 100|
2017022|UNIT001|22012017| A | 100|
2017022|UNIT001|22012017| C | 100|
唯一值是" Invoice,Vehicle,Jobdate"之间的组合。然后,如果一行有"发票,工具,工作日和成本代码=" C" "它应该显示所有行" 发票,工具,工作日期"等于包括Costcode" C"
在内的行我希望这个解释比我以前的解释好一点。
表名是:
SELECT INVOICE_KEY_FW,VEHICLE_ID_FW,JOB_DATE_FW,COSTCODE_FW,TOTAL_NETT_FW,
FROM PURCHASE_INVOICE_DETAILS_FW
WHERE
特定单位的成本分为成本代码,并在特定日期(特定单位)(每张发票)执行。 我们收到批量发票,其中一个单位可以在发票上两次(但从不在同一天)。 如果成本代码(在这种情况下为" C")在发票上,则具有相同作业日期和相同车辆ID的所有发票行应包含在预期结果中。
答案 0 :(得分:1)
我没有sql编辑器,但这应该可以。
select INVOICE_NUMBER, UNITNUMBER, DATE, COST_CODE, COSTS
from INVOICE_DETAILS
where UNIT_NUMBER in (select distinct UNIT_NUMBER
from INVOICE_DETAILS
WHERE COST_CODE = 'C')
我认为有更好的方法,但我应该先尝试。