Plateforme Level Extreme
Abonnement
Profil corporatif
Produits & Services
Support
Légal
English
Why are these SQL statements different?
Message
Information générale
Forum:
Visual FoxPro
Catégorie:
Base de données, Tables, Vues, Index et syntaxe SQL
Divers
Thread ID:
00362213
Message ID:
00362279
Vues:
16
Hi Douglas,

In the second SQL you don't use ==, which gives you partial string compare, if SET EXACT OFF & SET ANSI OFF.

Another observation:
you're using STR() without second parameter, which is possibly dangerous also. Use str(yourfield, fsize(yourfield)) instead, e.g. if your field is Numeric 4, use str(yourfield,4). Also, if it's an Integer field, you can use BINTOC() function instead for saving index file size.

>All,
>
>To me these two statements appear the same:
>
>SELECT authorization_tracking.PATID, ;
>authorization_tracking.units_remaining, ;
>authorization_tracking.authorization_effective_date, ;
>authorization_tracking.authorization_expiration_date, ;
>authorization_tracking.payer_code, authorization_tracking.facility, ;
>services_for_authorization.service_code ;
>FROM authorization_tracking ;
>JOIN services_for_authorization ON ;
>STR (authorization_tracking.facility) + ;
>authorization_tracking.patid + authorization_tracking.aut_link== ;
>STR(services_for_authorization.facility) + ;
>services_for_authorization.patid + ;
>services_for_authorization.aut_link ;
>where authorization_expiration_date >={^1999-09-01} AND ;
>authorization_status_value <> PADR('Denied',30) AND ;
>authorization_tracking.facility=GCOUNTY AND ISNULL(void_code) ;
>ORDER BY authorization_tracking.PATID ;
>INTO CURSOR authtemp
>
>-- Lists 5525 records
>
>SELECT authorization_tracking.PATID, ;
>authorization_tracking.units_remaining, ;
>authorization_tracking.authorization_effective_date, ;
>authorization_tracking.authorization_expiration_date, ;
>authorization_tracking.payer_code, authorization_tracking.facility, ;
>services_for_authorization.service_code ;
>FROM authorization_tracking ;
>JOIN services_for_authorization ON ;
>authorization_tracking.facility=services_for_authorization.facility ;
>and authorization_tracking.patid=services_for_authorization.patid ;
>and ;
>authorization_tracking.aut_link=services_for_authorization.aut_link ;
>WHERE authorization_expiration_date >={^1999-09-01} AND ;
>authorization_status_value <> PADR('Denied',30) AND ;
>authorization_tracking.facility=GCOUNTY AND ISNULL(void_code) ;
>ORDER BY authorization_tracking.PATID ;
>INTO CURSOR authtemp
>
>-- List 28333 Records
>
>What am I missing.
>
>TIA,
>Doug
If it's not broken, fix it until it is.


My Blog
Précédent
Répondre
Fil
Voir

Click here to load this message in the networking platform