Hello all,
I've a strange result with sub queries.
Here the tables i use:
CREATE TABLE "TORPEDO"."EMPLACEMENT"
(
        "EMP_C_CODE"               Char (5) ASCII    NOT NULL,
        "EMP_C_LIBELLE"               Varchar (25) ASCII,
        "EMP_L_ACTIF"               Boolean    DEFAULT FALSE,
        "EMP_L_MODIF"               Boolean    DEFAULT FALSE,
        PRIMARY KEY ("EMP_C_CODE")
)
CREATE TABLE "TORPEDO"."EMP_ART"
(
        "ART_C_REF"               Char (12) ASCII    NOT NULL,
        "STO_C_CODE"               Char (5) ASCII,
        "SKU_C_CODE"               Char (17) ASCII,
        "SKU_C_CAB"               Char (13) ASCII,
        "EMP_C_CODE"               Char (5) ASCII,
        "EA_I_TYPE"               Integer    DEFAULT           0,
        "ETP_C_CODE"               Char (5) ASCII,
        CONSTRAINT "TYPE D'ECLATEMENT" CHECK    "EA_I_TYPE" IN (0,1,2),
        FOREIGN KEY "REFERENCE" ("ART_C_REF") REFERENCES
"TORPEDO"."ARTICLE" ("ART_C_REF") ON DELETE  CASCADE,
        FOREIGN KEY "CODE STOCK"        ("STO_C_CODE") REFERENCES
"TORPEDO"."STOCK" ("STO_C_CODE") ON DELETE  CASCADE,
        FOREIGN KEY "CODE EMPLACEMENT"  ("EMP_C_CODE") REFERENCES
"TORPEDO"."EMPLACEMENT" ("EMP_C_CODE") ON DELETE  CASCADE,
        FOREIGN KEY "CODE ETAPE"        ("ETP_C_CODE") REFERENCES
"TORPEDO"."ETAPE" ("ETP_C_CODE") ON DELETE  RESTRICT
)

And the indexes for both table:
CREATE INDEX "EMP_ACTIF" ON "TORPEDO"."EMPLACEMENT"("EMP_L_ACTIF" ASC)

CREATE UNIQUE INDEX "PRIMAIRE" ON "TORPEDO"."EMP_ART"("ART_C_REF" ASC,
"STO_C_CODE" ASC, "SKU_C_CODE" ASC)
CREATE INDEX "SECONDAIRE" ON "TORPEDO"."EMP_ART"("EMP_C_CODE" ASC,
"STO_C_CODE" ASC)

If i run this query, i get many results:
select emp_c_code,emp_c_libelle from emplacement where emp_l_actif and
not exists (select emp_c_code from emp_art where sto_c_code = '1CEN' and
emplacement.emp_c_code = emp_art.emp_c_code)

But if i run this other one, which should return the same result, i
didn't get anything:
select emp_c_code,emp_c_libelle from emplacement where emp_l_actif and
emp_c_code not in (select emp_c_code from emp_art where sto_c_code =
'1CEN')

None of the indexes are marked as bad, i've just updated statictics on
both table.

Any idea ?

TIA.

Frédéric


-- 
MaxDB Discussion Mailing List
For list archives: http://lists.mysql.com/maxdb
To unsubscribe:    http://lists.mysql.com/[EMAIL PROTECTED]

Reply via email to