Plateforme Level Extreme
Abonnement
Profil corporatif
Produits & Services
Support
Légal
English
SQL TOP in Query
Message
 
À
16/02/2009 14:36:21
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 SP1
Database:
Visual FoxPro
Divers
Thread ID:
01382151
Message ID:
01382168
Vues:
48
>Hi Sergey,
>
>SET ANSI ON apparently does not affect the result. Here's the code I'm trying:
>
>
CREATE CURSOR c_Test;
>(iSaleid i,;
>cInvoiceNo c(11),;
>cDesc C(10))
>
>FOR i = 1 TO 11
>	INSERT INTO c_Test (iSaleid, cInvoiceNo, cDesc) VALUES (i, TRANSFORM(i), TRANSFORM(i))
>ENDFOR
>
>SET ANSI ON
>
>SELECT c_Test.*;
>	FROM c_Test ;
>	WHERE iSaleid in (SELECT TOP 2 isaleid FROM c_Test ORDER BY cInvoiceNo desc)
>
>SET ANSI OFF
>
>SELECT c_Test.*;
>	FROM c_Test ;
>	WHERE iSaleid in (SELECT TOP 2 isaleid FROM c_Test ORDER BY cInvoiceNo desc)
>
>my result has 8 and 9, not 10 and 11.
>
>
>
>>Check String comparison in VFP
>>
>>SET ANSI ON
>>SELECT Sales.* ;
>>   FROM Sales ;
>>   WHERE iSaleID IN (SELECT TOP 2 iSaleid FROM Sales ORDER BY cInvoiceNo DESC)
>>
>>
>>>
>>>I have a query like this:
>>>
>>>
SELECT Sales.* ;
>>>   FROM Sales ;
>>>   WHERE iSaleID IN (SELECT TOP 2 iSaleid FROM Sales ORDER BY cInvoiceNo DESC)
>>>
>>>The problem I'm having is due to the fact that if I have invoices entered with cInvoiceNo from "1" to "11", I want Invoices "10" and "11" to be returned, but I'm getting Invoices "1" and "11". So I really want to do something like this:
>>>
>>>
SELECT Sales.* ;
>>>   FROM Sales ;
>>>   WHERE iSaleID IN (SELECT TOP 2 iSaleid FROM Sales ORDER BY PADL(cInvoiceNo, 11) DESC)
>>>
>>>but of course that gives me a syntax error.
>>>
>>>Any ideas what I can do? I have no control over the invoice numbers as they are being returned from QuickBooks.
>>>
>>>Thanks,
SELECT Sales.*;
FROM Sales;
INNER JOIN (SELECT TOP 2 iSaleid, PADL(iSaleid,11) AS Tst;
                   FROM Sales;
            ORDER BY 2 DESC) Tbl1;
       ON Sales.iSaleid == Tbl1.iSaleid
(not tested)
Against Stupidity the Gods themselves Contend in Vain - Johann Christoph Friedrich von Schiller
The only thing normal about database guys is their tables.
Précédent
Suivant
Répondre
Fil
Voir

Click here to load this message in the networking platform