Final NTSB investigations, ND

78 cases where the phase of flight was Approach.

Cases, newest first

Query with SQL
duckdb -csv -c "WITH phase_names(main, name) AS (VALUES (100, 'Prior to flight'), (150, 'Standing'), (200, 'Pushback/towing'), (250, 'Taxi'), (300, 'Takeoff'), (350, 'Initial climb'), (400, 'Enroute'), (450, 'Maneuvering'), (500, 'Approach'), (550, 'Landing'), (600, 'Emergency descent'), (650, 'Uncontrolled descent'), (700, 'Post-impact'), (750, 'After landing'), (800, 'Other'), (990, 'Unknown')),
    crosswalk(code, main, name) AS (VALUES (500, 150, 'Standing'), (501, 150, 'Standing - pre-flight'), (502, 150, 'Standing - starting engine(s)'), (503, 150, 'Standing - engine(s) operating'), (504, 150, 'Standing - engine(s) not operating'), (505, 150, 'Standing - idling rotors'), (510, 250, 'Taxi'), (511, 200, 'Taxi - pushback/tow'), (512, 250, 'Taxi - to takeoff'), (513, 250, 'Taxi - from landing'), (514, 250, 'Taxi - aerial'), (520, 300, 'Takeoff'), (521, 300, 'Takeoff - roll/run'), (522, 350, 'Takeoff - initial climb'), (523, 300, 'Takeoff - aborted'), (530, 400, 'Climb'), (531, 400, 'Climb - to cruise'), (540, 400, 'Cruise'), (541, 400, 'Cruise - normal'), (542, 400, 'Maneuvering - holding (IFR)'), (550, 400, 'Descent'), (551, 400, 'Descent - normal'), (552, 600, 'Descent - emergency'), (553, 650, 'Descent - uncontrolled'), (560, 500, 'Approach'), (561, 500, 'Approach - VFR pattern - downwind'), (562, 500, 'Approach - VFR pattern - base turn'), (563, 500, 'Approach - VFR pattern - base leg/base to final'), (564, 500, 'Approach - VFR pattern - final approach'), (565, 500, 'Go-around (VFR)'), (566, 500, 'Approach - IAF to FAF/outer marker (IFR)'), (567, 500, 'Approach - FAF/outer marker to threshold (IFR)'), (568, 500, 'Circling (IFR)'), (569, 500, 'Missed approach (IFR)'), (570, 550, 'Landing'), (571, 550, 'Landing - flare/touchdown'), (572, 550, 'Landing - roll'), (573, 550, 'Landing - aborted'), (574, 550, 'Emergency landing'), (575, 550, 'Emergency landing after takeoff'), (576, 600, 'Emergency descent/landing'), (580, 450, 'Maneuvering'), (581, 450, 'Maneuvering - aerial application'), (582, 450, 'Maneuvering - turn to reverse direction'), (583, 450, 'Maneuvering - turn to landing area (emergency)'), (590, 450, 'Hover'), (591, 450, 'Hover - in ground effect'), (592, 450, 'Hover - out of ground effect'), (600, 800, 'Other'), (610, 990, 'Unknown')),
    current_codes AS (
      SELECT e.case_mkey, TRY_CAST(e.\"tier1Number\" AS INTEGER) AS code,
        row_number() OVER (PARTITION BY e.case_mkey ORDER BY coalesce(e.\"isDefiningEvent\", false) DESC, e.position) AS n
      FROM 'https://openairdocs.org/data/latest/ntsb_events.parquet' e
      WHERE e.aircrafts_position = 1 AND e.\"tier1Number\" GLOB '[1-9][0-9]*'
        AND (e.\"isDefiningEvent\" OR e.case_mkey IN (SELECT \"mKey\" FROM 'https://openairdocs.org/data/latest/ntsb_case_detail.parquet' WHERE \"isPre1982\"))
    ),
    phases AS (
      SELECT case_mkey, 'current' AS scheme, code, CASE WHEN code >= 990 THEN 990 ELSE code // 50 * 50 END AS main
      FROM current_codes WHERE n = 1
      UNION ALL
      SELECT o.case_mkey, 'older', o.\"phaseOfFlightCode\", w.main
      FROM 'https://openairdocs.org/data/latest/ntsb_occurrences.parquet' o JOIN crosswalk w ON w.code = o.\"phaseOfFlightCode\"
      WHERE o.aircrafts_position = 1 AND o.\"occurrenceNumber\" = 1 AND o.case_mkey NOT IN (SELECT case_mkey FROM current_codes)
    ),
    case_phases AS (
      SELECT p.*, c.\"eventDate\", c.\"highestInjuryLevel\" = 'Fatal' AS fatal, a.aircraft_model_code
      FROM phases p JOIN 'https://openairdocs.org/data/latest/ntsb_case_detail.parquet' c ON c.\"mKey\" = p.case_mkey
      LEFT JOIN 'https://openairdocs.org/data/latest/ntsb_aircrafts.parquet' a ON a.case_mkey = p.case_mkey AND a.position = 1
      WHERE c.\"eventDate\" >= DATE '1962-01-01' AND p.main IN (SELECT main FROM phase_names)
    )
  SELECT c.\"ntsbNumber\", c.\"eventDate\", c.\"eventType\", c.\"eventCity\", c.\"eventStateOrRegion\", a.n_number, a.\"aircraftMake\", a.\"aircraftModel\", c.\"highestInjuryLevel\", c.\"totalFatal\", c.\"completionStatus\", c.report_url
  FROM 'https://openairdocs.org/data/latest/ntsb_case_detail.parquet' c LEFT JOIN 'https://openairdocs.org/data/latest/ntsb_aircrafts.parquet' a ON a.case_mkey = c.\"mKey\" AND a.position = 1
  WHERE c.\"eventStateOrRegion\" = 'ND' AND c.\"eventCountry\" = 'USA'
    AND c.\"completionStatus\" = 'Completed'
    AND c.\"mKey\" IN (SELECT case_mkey FROM case_phases WHERE main = 500)
  ORDER BY c.\"eventDate\" DESC, c.\"ntsbNumber\" DESC"

Prints the whole list as CSV. It reads the release’s Parquet files over HTTPS, so there’s nothing to download first. Install DuckDB to run it.

NTSB MKC77FTG05Accident · Serious injuriesClosedCessna 172 · Stanton, NDMay 14, 1977 · N7778X · Substantial damageNTSB MKC76AK044Accident · Serious injuriesClosedCessna 182P · Rolla, NDFeb 19, 1976 · N9872G · DestroyedNTSB MKC75DTG10Accident · No injuriesClosedPiper PA-18 · Cooperstown, NDAug 4, 1974 · N167T · Substantial damageNTSB MKC74FTG13Accident · No injuriesClosedCessna 150J · Grand Forks, NDFeb 9, 1974 · N60667 · Substantial damageNTSB MKC74DTG01Accident · No injuriesClosedCessna 150 · Tuttle, NDJul 3, 1973 · N1743Q · Substantial damageNTSB MKC73FTG19Accident · Minor injuriesClosedSirocco MJ5 · Minot, NDJun 6, 1973 · N213P · Substantial damageNTSB MKC73FTG16Accident · No injuriesClosedPiper PA-32 · Bismarck, NDMay 29, 1973 · N3340W · Substantial damageNTSB MKC73AK041Accident · 1 fatalClosedCessna 172K · Dickinson, NDDec 18, 1972 · N84887 · DestroyedNTSB MKC73FTG08Accident · No injuriesClosedCessna 150K · Cavalier, NDOct 13, 1972 · N5785G · Substantial damageNTSB MKC73DTG01Accident · No injuriesClosedPiper PA-18 · Minot, NDJul 2, 1972 · N7585K · Substantial damageNTSB MKC72AK053Accident · Serious injuriesClosedBeech D18S · Bismarck, NDMar 2, 1972 · N375C · DestroyedNTSB MKC71DTG26Accident · No injuriesClosedCessna 172L · Bucyrus, NDMay 6, 1971 · N7571G · Substantial damageNTSB MKC71AK030Accident · Serious injuriesClosedPiper PA-24 · Bismarck, NDNov 30, 1970 · N8908P · Substantial damageNTSB MKC70FDD18Accident · No injuriesClosedPiper PA-25 · Casselton, NDJun 20, 1970 · N6265Z · Substantial damageNTSB MKC70FDD03Accident · No injuriesClosedChampion 7CCM · Verona, NDJan 1, 1970 · N4449E · Substantial damageNTSB MKC70D0249Accident · Minor injuriesClosedCessna 182 · Edgely, NDNov 6, 1969 · N1913X · Substantial damageNTSB MKC69F0276Accident · Serious injuriesClosedMooney M20C · Kenmare, NDSep 24, 1968 · N1366W · DestroyedNTSB MKC68F0292Accident · No injuriesClosedPiper PA-22 · New Town, NDOct 3, 1967 · N3560A · Substantial damageNTSB MKC68F0120Accident · Minor injuriesClosedPiper PA-11 · N.Rockford, NDJun 26, 1967 · N4758H · Substantial damageNTSB MKC68D0061Accident · No injuriesClosedCessna 140 · Harvey, NDApr 25, 1967 · N2063V · Substantial damageNTSB MKC67F0358Accident · Minor injuriesClosedCessna 150A · Tioga, NDNov 5, 1966 · N7114X · Substantial damageNTSB MKC67D0004Accident · No injuriesClosedCessna 170 · Grand Forks, NDJun 16, 1966 · N5410C · Substantial damageNTSB MKC66F0124Accident · No injuriesClosedCessna 150 · Hatton, NDJun 27, 1965 · N2074Z · Substantial damageNTSB MKC65A0061Accident · 1 fatalClosedPiper PA-18 · Selfridge, NDApr 20, 1965 · N8178D · DestroyedNTSB MKC65A0058Accident · 2 fatalClosedPiper PA-23 · Grand Forks, NDApr 8, 1965 · N4021P · DestroyedNTSB UNK65X0267Accident · No injuriesClosedCessna 180 · Langdon, NDOct 13, 1964 · N2110Z · Substantial damageNTSB UNK64X3069Accident · No injuriesClosedBeech K35 · Bismark, NDJul 27, 1964 · N6099E · Substantial damageNTSB UNK64X2149Accident · No injuriesClosedPiper PA11 · Churchs Ferry, NDJun 6, 1964 · N4842M · Substantial damage