Sql server 如何仅在A列B中的所有算术结果相同时才从A列返回结果

Sql server 如何仅在A列B中的所有算术结果相同时才从A列返回结果,sql-server,Sql Server,我被难住了,想征求一些建议 我有一个表格,可以记录多个列中的订单 COL_A - Order ID COL_B - Order line COL_C - Log of activities done on order line, 2=order accepted, 950=item in stock COL_D - Stock Check, uses arithmetic function to work out if item is in stock, takes COL_C and divi

我被难住了,想征求一些建议

我有一个表格,可以记录多个列中的订单

COL_A - Order ID
COL_B - Order line
COL_C - Log of activities done on order line, 2=order accepted, 950=item in stock
COL_D - Stock Check, uses arithmetic function to work out if item is in stock, takes COL_C and divides by 950 to zero decimal places. 0 = no, 1 = yes
COL_E - Order status
COL_F - Product code
保存订单,然后在执行操作时更新日志,将值与操作值累加,因此操作日志值为952表示订单已被接受&项目有库存。 Col_D使用Col_C log值指示订购的项目是否有库存。这只是将日志值除以950,以指示是否有库存

我需要查询返回订单和所有订单行,只有当订单的所有订购项目都有库存时

范例 数据表:

预期结果:


选择*FROM TableName,其中Col_D=1将返回库存中的所有行=1,而不考虑订单ID。我需要它返回每个订单ID的所有行,其中该订单ID的每个订单行都有该订单ID的库存。我对任何订单ID中没有库存的订单行不感兴趣。然后重新表述您的问题。这将返回所有行库存中的=1,与订单ID无关。我需要它返回每个订单ID的所有行,其中该订单ID的每个订单行都有该订单ID的库存。我对订单行没有库存的任何订单ID都不感兴趣。
select 
  COL_A as "ORDER ID", 
  COL_B as "Line NO", 
  COL_C as "Action LOG", 
  COL_D as "IN stock", 
  COL_E as "Status", 
  COL_F as "Product"
where 
  COL_D = 1;
SELECT
  COL_A as "ORDER ID", 
  COL_B as "Line NO", 
  COL_C as "Action LOG", 
  COL_D as "IN stock", 
  COL_E as "Status", 
  COL_F as "Product"
FROM Table
WHERE COL_A IN
(SELECT COL_A FROM Table 
  GROUP BY COL_A
  HAVING MIN(COL_D) <> 0)