Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • Home
  • SEARCH
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 7183917
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: May 28, 20262026-05-28T18:05:35+00:00 2026-05-28T18:05:35+00:00

I need to mimic the functionality of a nested for loop (or mimic a

  • 0

I need to mimic the functionality of a nested for loop (or mimic a foreach loop). I have a query below as an example (note this is an example of a much more complex query that I have – for simplicitity sake).

SELECT userName from employeeDetails where userName = 'Peter';

Simple enough. However I need the value of userName to be a variable so that I can nest this query into a parent query. The parent query would be like so:

SELECT userName from allEmployees;

So some sudo code using a foreach loop for example would be as so:

foreach x as `SELECT userName from allEmployees`
do
        SELECT userName from employeeDetails where userName = x;
done

PS – I’m querying an Oracle 10.2.04 database


Update 1 – Sorry for the confusion but I think my “simple” example above is a little TOO simple. I have my entire query listed below – in that query you will find my name (CocoaNoob) in 13 different sections of the query. I need to replace this hard coded name with a name foreach name in a table.

SELECT  SSN, EMP_NAME, HIRE_DT, DEPTID, FULL_PART_TIME,
     (CASE WHEN AVAILABLE_VACATION < 0 THEN 0 ELSE AVAILABLE_VACATION END)
        AVAILABLE_VACATION
FROM   (SELECT   'XXX-XX-' || SUBSTR (A.EMPLID, 6) EMPLID,
               A.EMPLID AS SSN,
               (CASE
                   WHEN EMP_CAT NOT IN ('EFT-O', 'NEFT-O')
                   THEN
                      TO_CHAR (CURRENT_YR_SICK)
                   ELSE
                      'As Needed'
                END)
                  CURRENT_YR_SICK,
               (CASE
                   WHEN EMP_CAT NOT IN ('EFT-O', 'NEFT-O')
                   THEN
                      TO_CHAR (CARRY_OVER_SICK)
                   ELSE
                      'As Needed'
                END)
                  CARRY_OVER_SICK,
               (CASE
                   WHEN EMP_CAT NOT IN ('EFT-O', 'NEFT-O')
                   THEN
                      TO_CHAR ( (CURRENT_YR_SICK + CARRY_OVER_SICK))
                   ELSE
                      'As Needed'
                END)
                  TOTAL_SICK,
               (CASE
                   WHEN EMP_CAT NOT IN ('EFT-O', 'NEFT-O')
                   THEN
                      TO_CHAR (PERSONAL)
                   ELSE
                      'As Needed'
                END)
                  PERSONAL,
               CURRENT_YR_VACATION,
               CARRY_OVER_VACATION,
               (CURRENT_YR_VACATION + CARRY_OVER_VACATION) TOTAL_VACATION,
               NVL (
                  (SELECT   SUM (NO_DAYS)
                     FROM   HRU_ENT_COFF_DETAILS
                    WHERE   emplid = (SELECT   emplid
                                        FROM   employees
                                       WHERE   user_id = '__CocoaNoob__')
                            AND comp_off_type = 'ECOFF'),
                  '0'
               )
                  EARNED_COMP_OFF,
               NVL (
                  (SELECT   SUM (NO_DAYS)
                     FROM   HRU_ENT_COFF_DETAILS
                    WHERE   emplid = (SELECT   emplid
                                        FROM   employees
                                       WHERE   user_id = '__CocoaNoob__')
                            AND comp_off_type = 'BLOOD'),
                  '0'
               )
                  BLOOD_COMP_OFF,
               NVL (
                  (SELECT   SUM (NO_DAYS)
                     FROM   HRU_ENT_COFF_DETAILS
                    WHERE   emplid = (SELECT   emplid
                                        FROM   employees
                                       WHERE   user_id = '__CocoaNoob__')
                            AND comp_off_type = 'HABITAT'),
                  '0'
               )
                  HABITAT_COMP_OFF,
               NVL (
                  (SELECT   SUM (NO_DAYS)
                     FROM   HRU_ENT_COFF_DETAILS
                    WHERE   emplid = (SELECT   emplid
                                        FROM   employees
                                       WHERE   user_id = '__CocoaNoob__')
                            AND comp_off_type = 'HCOFF'),
                  '0'
               )
                  HOLIDAY_COMP_OFF,
               (INITCAP (E.FIRST_NAME) || ' ' || INITCAP (E.LAST_NAME))
                  AS EMP_NAME,
               TO_CHAR (HIRE_DT, 'mm/dd/yyyy') HIRE_DT,
               TO_CHAR (REHIRE_DT, 'mm/dd/yyyy') REHIRE_DT,
               JOBTITLE,
               OFFICER_TITLE,
               CLOCK_NBR,
               D.DEPTID DEPTID,
               FILE_NBR,
               D.DESCR DESCR,
               (CASE
                   WHEN FLSA_STATUS = 'E' AND FULL_PART_TIME = 'F'
                   THEN
                      'Exempt/Full-Time'
                   WHEN FLSA_STATUS = 'E' AND FULL_PART_TIME = 'P'
                   THEN
                      'Exempt/Part-Time'
                   WHEN FLSA_STATUS = 'N' AND FULL_PART_TIME = 'F'
                   THEN
                      'Non-Exempt/Full-Time'
                   WHEN FLSA_STATUS = 'N' AND FULL_PART_TIME = 'P'
                   THEN
                      'Non-Exempt/Part-Time'
                   ELSE
                      ''
                END)
                  AS EMP_STATE,
               full_part_time,
               COFF_ELIGIBLE,
               EMP_CAT,
               (CASE
                   WHEN EMP_CAT NOT IN ('EFT-O', 'NEFT-O')
                   THEN
                      TO_CHAR( ( (CURRENT_YR_SICK + CARRY_OVER_SICK)
                                - (NVL (
                                      (SELECT   SUM (no_days_used)
                                         FROM   HRU_ENT_USAGE_HIST
                                        WHERE   emplid =
                                                   (SELECT   emplid
                                                      FROM   employees
                                                     WHERE   user_id =
                                                                '__CocoaNoob__')
                                                AND TO_CHAR (
                                                      FROM_DATE_USED,
                                                      'yyyy'
                                                   ) =
                                                      TO_CHAR (SYSDATE,
                                                               'yyyy')
                                                AND entitlement_code IN
                                                         ('SICK',
                                                          'FMS',
                                                          'PLS')),
                                      0
                                   ))))
                   ELSE
                      'As Needed'
                END)
                  AVAILABLE_SICK,
               ( (CURRENT_YR_VACATION + CARRY_OVER_VACATION)
                - (NVL (
                      (SELECT   SUM (no_days_used)
                         FROM   HRU_ENT_USAGE_HIST
                        WHERE   emplid =
                                   (SELECT   emplid
                                      FROM   employees

                                     WHERE   user_id = '__CocoaNoob__')
                                AND TO_CHAR (FROM_DATE_USED, 'yyyy') =
                                      TO_CHAR (SYSDATE, 'yyyy')
                                AND entitlement_code IN
                                         ('VACATION', 'FMV', 'PLV')),
                      0
                   )))
                  AVAILABLE_VACATION,
               (CASE
                   WHEN EMP_CAT NOT IN ('EFT-O', 'NEFT-O')
                   THEN
                      TO_CHAR( (PERSONAL
                                - (NVL (
                                      (SELECT   SUM (no_days_used)
                                         FROM   HRU_ENT_USAGE_HIST
                                        WHERE   emplid =
                                                   (SELECT   emplid
                                                      FROM   employees
                                                     WHERE   user_id =
                                                                '__CocoaNoob__')
                                                AND TO_CHAR (
                                                      FROM_DATE_USED,
                                                      'yyyy'
                                                   ) =
                                                      TO_CHAR (SYSDATE,
                                                               'yyyy')
                                                AND entitlement_code IN
                                                         ('PERSONAL',
                                                          'FMP',
                                                          'PLP')),
                                      0
                                   ))))
                   ELSE
                      'As Needed'
                END)
                  AVAILABLE_PERSONAL,
               (CASE
                   WHEN COFF_ELIGIBLE = 'YES'
                   THEN
                      TO_CHAR(NVL (
                                 (SELECT   (SUM (NO_DAYS)
                                            - NVL (SUM (NO_DAYS_USED), 0))
                                    FROM   HRU_ENT_COFF_DETAILS
                                   WHERE   emplid =
                                              (SELECT   emplid
                                                 FROM   employees
                                                WHERE   user_id =
                                                           '__CocoaNoob__')
                                           AND comp_off_type = 'ECOFF'),
                                 '0'
                              ))
                   ELSE
                      'Not Eligible'
                END)
                  AVAILABLE_ECOFF,
               (TO_CHAR(NVL (
                           (SELECT   (SUM (NO_DAYS)
                                      - NVL (SUM (NO_DAYS_USED), 0))
                              FROM   HRU_ENT_COFF_DETAILS
                             WHERE   emplid =
                                        (SELECT   emplid
                                           FROM   employees
                                          WHERE   user_id =
                                                     '__CocoaNoob__')
                                     AND comp_off_type = 'HCOFF'),
                           '0'
                        )))
                  AVAILABLE_HCOFF,
               (TO_CHAR(NVL (
                           (SELECT   (SUM (NO_DAYS)
                                      - NVL (SUM (NO_DAYS_USED), 0))
                              FROM   HRU_ENT_COFF_DETAILS
                             WHERE   emplid =
                                        (SELECT   emplid
                                           FROM   employees
                                          WHERE   user_id =
                                                     '__CocoaNoob__')
                                     AND comp_off_type = 'BLOOD'),
                           '0'
                        )))
                  AVAILABLE_BCOFF,
               (TO_CHAR(NVL (
                           (SELECT   (SUM (NO_DAYS)
                                      - NVL (SUM (NO_DAYS_USED), 0))
                              FROM   HRU_ENT_COFF_DETAILS
                             WHERE   emplid =
                                        (SELECT   emplid
                                           FROM   employees
                                          WHERE   user_id = '__CocoaNoob__')
                                     AND comp_off_type = 'HABITAT'),
                           '0'
                        )))
                  AVAILABLE_HACOFF
        FROM   HRU_ENTITLEMENTS_MASTER A,
               EMPLOYEES E,
               DEPTS D,
               (SELECT   EMPLID,
                         (CASE
                             WHEN     FLSA_STATUS = 'E'
                                  AND FULL_PART_TIME = 'F'
                                  AND OFFICER_TITLE = 'NONE'
                             THEN
                                'EFT-NO'
                             WHEN     FLSA_STATUS = 'E'
                                  AND FULL_PART_TIME = 'F'
                                  AND OFFICER_TITLE != 'NONE'
                             THEN
                                'EFT-O'
                             WHEN     FLSA_STATUS = 'E'
                                  AND FULL_PART_TIME = 'P'
                                  AND OFFICER_TITLE = 'NONE'
                             THEN
                                'EPT-NO'
                             WHEN     FLSA_STATUS = 'N'
                                  AND FULL_PART_TIME = 'F'
                                  AND OFFICER_TITLE != 'NONE'
                             THEN
                                'NEFT-O'
                             WHEN     FLSA_STATUS = 'N'
                                  AND FULL_PART_TIME = 'F'
                                  AND OFFICER_TITLE = 'NONE'
                             THEN
                                'NEFT-NO'
                             WHEN     FLSA_STATUS = 'N'
                                  AND FULL_PART_TIME = 'P'
                                  AND OFFICER_TITLE = 'NONE'
                             THEN
                                'NEPT-NO'
                             ELSE
                                ''
                          END)
                            AS EMP_CAT,
                         (CASE
                             WHEN OFFICER_TITLE IN
                                        ('CHAIRMAN & CEO',
                                         'VICE CHAIRMAN & CAO',
                                         'PRESIDENT & COO',
                                         'EVP, TREASURER & CFO',
                                         'EXEC VP, SECRETARY & GEN COUNS',
                                         'EXECUTIVE VICE PRESIDENT',
                                         'SENIOR VP & CIO',
                                         'SENIOR VICE PRESIDENT',
                                         'DIRECTOR',
                                         'FIRST VP/CONTROLLER',
                                         'FIRST VP',
                                         'VICE PRESIDENT')
                             THEN
                                'NO'
                             ELSE
                                'YES'
                          END)
                            COFF_ELIGIBLE
                  FROM   EMPLOYEES
                 WHERE   EMPLID = (SELECT   emplid
                                     FROM   employees
                                    WHERE   user_id = '__CocoaNoob__')) B
       WHERE       A.EMPLID = (SELECT   emplid
                                 FROM   employees
                                WHERE   user_id = '__CocoaNoob__')
               AND A.YEAR = '2012'
               AND A.EMPLID = E.EMPLID
               AND D.DEPTID = E.DEPTID
               AND E.EMPLID = B.EMPLID);
  • 1 1 Answer
  • 0 Views
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. Editorial Team
    Editorial Team
    2026-05-28T18:05:37+00:00Added an answer on May 28, 2026 at 6:05 pm

    As I mentioned in a comment, you’ll normally want to find a set-based solution. However, the DB makers have given us cursors (or other ways to iterate) for when we really want to run a bunch of processing that is more easily expressed in a procedural manner. Cursors may fit the bill, here. This may be especially true if it is beyond your scope to re-architect the DB such as putting that case/switch logic into tables, for example. You may need to revisit finding a set-based solution if your cursor performance is unacceptable.

    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Related Questions

How can I mimic this PHP functionality in twig? I need to increment a
I've got some example Python code that I need to mimic in C++. I
I am trying to mimic the functionality of the image below. I am working
I need to mimic changes (property/list) changes on an object and then apply it
I need to mimic the preprocessor feature of C with Python. If I want
need ask you about some help. I have web app running in Net 2.0.
Need some help about with Memcache. I have created a class and want to
If I have, <script src=jquery.js ></script> Then any script after this will allows you
I have a need to use the tabs in my jquery mobile application. I
we have this application which uses cross app domain (2 app domains in the

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.