Plateforme Level Extreme
Abonnement
Profil corporatif
Produits & Services
Support
Légal
English
BUG: SQL: Error correlating fields.
Message
De
01/04/2005 09:03:23
 
 
À
01/04/2005 08:44:07
Walter Meester
HoogkarspelPays-Bas
Information générale
Forum:
Visual FoxPro
Catégorie:
Base de données, Tables, Vues, Index et syntaxe SQL
Versions des environnements
Visual FoxPro:
VFP 9
Divers
Thread ID:
01000538
Message ID:
01000618
Vues:
44
Others invariant forms:
CREATE CURSOR orders (ord_pk I, ord_dummy C(10))
CREATE CURSOR Orderlines (orl_pk I, orl_ordfk I, orl_itmfk I)
CREATE CURSOR Items (itm_pk I, itm_name C(10))
* fail
SELECT * FROM orders O ;
	WHERE EXISTS(SELECT 1 FROM orderlines INNER JOIN Items ON orl_itmfk = itm_pk ;
		WHERE orl_ordfk = O.ord_pk AND itm_name = "BIKE") OR ;
	EXISTS(SELECT 1 FROM orderlines INNER JOIN Items ON orl_itmfk = itm_pk ;
		WHERE orl_ordfk = O.ord_pk AND itm_name = "SCOOTER")
* fail
SELECT * FROM orders O ;
	WHERE EXISTS(SELECT * FROM orderlines INNER JOIN Items ON orl_itmfk = itm_pk ;
		WHERE orl_ordfk =O.ord_pk  AND itm_name = "BIKE" OR orl_ordfk = O.ord_pk AND itm_name = "SCOOTER")

* good
SELECT * FROM orders O ;
	WHERE EXISTS(SELECT * FROM orderlines INNER JOIN Items ON orl_itmfk = itm_pk ;
		WHERE orl_ordfk =O.ord_pk  AND (itm_name = "BIKE" OR itm_name = "SCOOTER"))

* good
SELECT * FROM orders O ;
	WHERE EXISTS(SELECT * FROM orderlines INNER JOIN Items ON orl_itmfk = itm_pk ;
		WHERE orl_ordfk =O.ord_pk  AND itm_name IN ("BIKE","SCOOTER"))
* good
SELECT * FROM orders O ;
	WHERE O.ord_pk IN (SELECT orl_ordfk FROM orderlines INNER JOIN Items ON orl_itmfk = itm_pk ;
		WHERE itm_name IN ("BIKE","SCOOTER"))
* good !!!!
SELECT * FROM orders O ;
	WHERE O.ord_pk IN  (SELECT orl_ordfk FROM orderlines INNER JOIN Items ON orl_itmfk = itm_pk WHERE itm_name = "BIKE");
		 OR ;
		  O.ord_pk IN  (SELECT orl_ordfk FROM orderlines INNER JOIN Items ON orl_itmfk = itm_pk WHERE itm_name = "SCOOTER")
Précédent
Suivant
Répondre
Fil
Voir

Click here to load this message in the networking platform