Oracle FAQ Your Portal to the Oracle Knowledge Grid
HOME | ASK QUESTION | ADD INFO | SEARCH | E-MAIL US
 

Home -> Community -> Usenet -> c.d.o.misc -> Help with SQL

Help with SQL

From: Prince Of Thieves <thief_NOSPAM_at_hotmail.com>
Date: Tue, 20 Jan 2004 12:32:20 +1100
Message-ID: <yu%Ob.46$Jc6.1664@nnrp1.ozemail.com.au>


I have the following SQL:

SELECT DISTINCT STYLE.STYLEIDX, STYLE.STYLECODE, STYLE.NAME, STYLE.DESCRIP FROM STYLE
WHERE STYLE.REF5 = 2054
AND STYLE.ACTIVE = 1
ORDER BY 2; The 2054 value comes from another table, called REFCODE, which looks like this:

      RGIDX RCIDX CODE NAME RPCIDX ACTIVE
      1046 1975 NHL Nhl 348 1903 1
      1046 1936 NON LICENSED Non Licensed 1914 1
      1046 2054 NON-LICENSED Non-Licensed 1914 1


The SQL to get the above is:

SELECT DISTINCT *
FROM REFCODE
WHERE RGIDX = 1046 AND ACTIVE = 1
ORDER BY 1; Instead of using "WHERE STYLE.REF5 = 2054" in the top-most SQL, I want to search by the CODE, ie. "NON-LICENSED". So I changed the SQL to:

SELECT DISTINCT STYLE.STYLEIDX, STYLE.STYLECODE, STYLE.NAME, STYLE.DESCRIP FROM STYLE, STYLES, STYLEC, REFCODE
WHERE STYLE.REF5 = (SELECT RCIDX FROM REFCODE WHERE RGIDX = 1046 AND REFCODE.CODE = 'NON-LICENSED')
AND STYLE.ACTIVE = 1
ORDER BY 2; Note that "(SELECT RCIDX FROM REFCODE WHERE RGIDX = 1046 AND REFCODE.CODE = 'NON-LICENSED')
" returns 2054 only.

The problem is that the query now seems to "hang". The original (top-most) query runs instantly). Have I done this correctly?

-- 

Prince Of Thieves
Received on Mon Jan 19 2004 - 19:32:20 CST

Original text of this message

HOME | ASK QUESTION | ADD INFO | SEARCH | E-MAIL US