I currently have a powershell script that returns one row of data, the script goes like this:
$Query = "SELECT t1.BSM_NM ,t1.D_DTM AS MAXDATETIME ,CASE WHEN SUM(t1.V_CUST_BLK_CNT)/SUM(t1.V_ATT_CNT) >= MAX(t2.MAJOR_VOICE_BLOCK) AND SUM(t1.V_CUST_BLK_CNT)/SUM(t1.V_ATT_CNT) < MAX(t2.CRITICAL_VOICE_BLOCK) OR SUM(t1.V_DRP_CALL_CNT)/SUM(t1.V_ATT_CNT) >= MAX(t2.MAJOR_VOICE_DROP) AND SUM(t1.V_DRP_CALL_CNT)/SUM(t1.V_ATT_CNT) < MAX(t2.CRITICAL_VOICE_DROP) OR SUM(t1.V_AXS_F_CNT)/SUM(t1.V_ATT_CNT) >= MAX(t2.MAJOR_VOICE_AXSFAIL) AND SUM(t1.V_AXS_F_CNT)/SUM(t1.V_ATT_CNT) < MAX(t2.CRITICAL_VOICE_AXSFAIL) THEN 1 WHEN SUM(t1.V_CUST_BLK_CNT)/SUM(t1.V_ATT_CNT) >= MAX(t2.CRITICAL_VOICE_BLOCK) OR SUM(t1.V_DRP_CALL_CNT)/SUM(t1.V_ATT_CNT) >= MAX(t2.CRITICAL_VOICE_DROP) OR SUM(t1.V_AXS_F_CNT)/SUM(t1.V_ATT_CNT) >= MAX(t2.CRITICAL_VOICE_AXSFAIL) THEN 2 ELSE 0 END MAJORCRITICAL FROM DMSN.DS3R_FH_1XRTT_BTS_LVL_KPI t1 INNER JOIN ZDMSN.DS3R_1XRTT_TRIGGERS_THRESHOLD t2 ON t1.BSM_NM = t2.BSC_NM WHERE t1.BSM_NM = 'ARL1' and t1.D_DTM = (SELECT MAX(D_DTM) FROM DS3R_FH_1XRTT_BTS_LVL_KPI WHERE BSM_NM = 'ARL1') GROUP BY t1.BSM_NM, t1.D_DTM" $data_set = new-object system.data.dataset $adapter = new-object system.data.oracleclient.oracledataadapter ($Query, $Connection) [void] $adapter.Fill($data_set) $table = new-object system.data.datatable $table = $data_set.Tables[0] $bsmNM = $data_set.Tables[0].Rows[0].BSM_NM $maxDT = $data_set.Tables[0].Rows[0].MAXDATETIME $majorC = $data_set.Tables[0].Rows[0].MAJORCRITICAL if ($majorC -eq "1" )
the above query would return results in one row like this:
now, lets say I change it so it returns between 2 and 10 rows of data, and if there is just a 1 in the MAJORCRITICAL column, to do something and if there is a 1 and a 2 in the MAJORCRITICAL column to do something else. The query would now return data as
such
How can I set it to read through multiple row results in the query?