sql >> Databasteknik >  >> RDS >> Oracle

Oracle kumulativt antal med SYS_CONNECT_BY_PATH

Enbart med ett försök och fel över dina SQL Fiddle-exempeldata, är det här frågan som returnerar dina förväntade data:

SELECT SYS_CONNECT_BY_PATH(firmware_version, '/') path_,
  firmware_version,
  device_count,
  dmc_id,
  charging_group_id,
  IMAGE_PREREQUISITE,
  (SELECT SUM(device_count)
  FROM DM_TEMP_SUMMING_DVC_BY_FW t2
  START WITH t1.firmware_version = t2.firmware_version
        and T1.dmc_id = T2.dmc_id
        and T1.charging_group_id = T2.charging_group_id
  CONNECT BY nocycle PRIOR firmware_version=image_prerequisite and prior dmc_id = dmc_id and prior charging_group_id = charging_group_id
  ) sum_device
FROM DM_TEMP_SUMMING_DVC_BY_FW t1
START WITH image_prerequisite IS NULL
CONNECT BY nocycle PRIOR firmware_version = image_prerequisite
    and prior dmc_id = dmc_id
    and prior charging_group_id = charging_group_id

Obs! Ja, charging_group_id och dmc_id är mycket viktiga för ditt förväntade resultat, vilket krokodilko korrekt nämnde i sin kommentar ovan.




  1. Hur lägger man till ett SSL-certifikat (ca-cert) till node.js miljövariabler för att ansluta till Digital Ocean Postgres Managed Database?

  2. Hur lagrar man en butiks öppettider i en SQL-databas?

  3. Hur man skapar användare i Oracle Multitenant 12c utan C## prefix

  4. Session_set_save_handler inte inställning