title: PLSQL script not working with passing multiple values into IN() caluse
body: <p>I am very new in PLSQL, i want to pass an array of number into IN() clause value, But Sqldeveloper throw following error messages:</p>
  
  <pre><code>Error report -
  ORA-06550: line 11, column 60:
  PLS-00382: expression is of wrong type
  ORA-06550: line 11, column 53:
  PL/SQL: ORA-22905: cannot access rows from a non-nested table item
  ORA-06550: line 10, column 4:
  PL/SQL: SQL Statement ignored
  06550. 00000 -  "line %s, column %s:\n%s"
  *Cause:    Usually a PL/SQL compilation error.
  *Action:
  </code></pre>
  
  <p>This is my code :</p>
  
  <pre><code>DECLARE
     TYPE sc IS TABLE OF transactionhistory.NBSUBCOMPANY%TYPE INDEX BY PLS_INTEGER; 
     arr sc;
  BEGIN
     arr(0) := 000;
     arr(1) := 111;
     arr(2) := 222;
     arr(3) := 333;
  
     select count(th.CHCARDNUMBER) as transactions from transactionhistory th INNER JOIN cards ch on ch.NBATTMID=th.NBATTMID where th.dtdate&gt;=to_date('01-oct-2016','dd-mon-yyyy') and th.dtdate&lt;to_date('01-nov-2016','dd-mon-yyyy') 
     and ch.NBSUBCOMPANY IN (select column_value from table (arr))
     and ((th.CHTRANSTYPE in ('2940', '2916', '2941', '2942', '2943', '2944', '2945', '2902', '2917', '2925') and th.NBBASEAMT &lt; 0) or (th.CHTRANSTYPE in ('2922', '2923', '2926', '2950', '2951', '2952', '2953', '2954', '2955') and th.NBBASEAMT &gt; 0) or (th.CHTRANSTYPE in ('1101', '1102', '1104', '1105', '1106', '1107', '1109') and th.BASEII_STATUS = 'C') or th.CHTRANSTYPE not in ('2940', '2916', '2941', '2942', '2943', '2944', '2945', '2902', '2917', '2925', '2922', '2923', '2926', '2950', '2951', '2952', '2953', '2954', '2955', '1101', '1102', '1104', '1105', '1106', '1107', '1109')); 
  END;
  </code></pre>
  
  <p>Please suggest me how can i pass this.</p>