2013-07-31 3 views
0

J'ai un logiciel où je peux fournir des requêtes SQL à DB. Mais il y a la limitation, je ne peux pas changer WHERE clause ... Ex .: [Python] x = gp.searchcursor('DATABASE_NAME','FIELDS WHICH I WANT TO VIEW','WHERE_CLAUSE')comment limiter les enregistrements mis dans la clause SQL WHERE

J'ai table où est d'environ ~ dossiers de 250k et je veux obtenir la première 50-70 (nombre n'a pas d'importance) des dossiers. Ma question est comment puis-je créer une requête (en fait la clause WHERE) qui retournera ces enregistrements?

juste pour clarifier, sur le fond de l'application, il est Oracle et MS SQL Server (dépend de la base de données appelée)

+0

savez-vous de quelle table les champs sont récupérés? Si oui, publiez le schéma ici. –

+0

Je n'appelle qu'un seul tableau à chaque fois, et je récupère les champs dépend de mes besoins – Krystian

+0

'WHERE SOME_ID_COLUMN ENTRE 1 ET 50'? –

Répondre

1

Peut-être que vous pouvez faire l'affaire à l'aide d'un sous-requête dans WHERE

WHERE YourID IN (SELECT TOP 50 YourID FROM YourTable WHERE YourActualConditions) 

Cette volonté travail pour SQL Server, Oracle syntaxe est légèrement différente:

WHERE YourID IN (SELECT YourID FROM YourTable WHERE YourActualConditions AND ROWNUM<=50) 

EDIT en fait, dans Oracle y ous ne même pas besoin d'un sous-requête:

WHERE YourActualConditions AND ROWNUM<=50 

devrait être assez