J'ai une requête, et j'ai besoin de trouver le numéro de ligne que la requête renvoie la réponse. Je n'ai pas de compteur. Comment fait-on ça?Comment trouver une ligne après une requête?
Merci d'avance.
J'ai une requête, et j'ai besoin de trouver le numéro de ligne que la requête renvoie la réponse. Je n'ai pas de compteur. Comment fait-on ça?Comment trouver une ligne après une requête?
Merci d'avance.
SELECT
ROW_NUMBER() OVER (<your_id_field_here> ORDER BY <field_here>) as RowNum,
<the_rest_of_your_fields_here>
FROM
<my_table>
Si vous avez une clé primaire, vous pouvez utiliser cette méthode sur SQL Server 2005 et plus:
SELECT
ROW_NUMBER() OVER (ORDER BY PrimaryKeyField) as RowNumber,
Field1,
Field2
FROM
YourSourceTable
Si vous ne disposez pas d'une clé primaire, ce que vous avez à faire est dupliquer votre table dans une table de mermory (ou une table temporaire si elle est très grande) en utilisant une méthode comme ceci:
DECLARE @NewTable table (
RowNumber BIGINT IDENTITY(1,1) PRIMARY KEY,
Field1 varchar(50),
Field2 varchar(50),
)
INSERT INTO @NewTable
(Field1, Field2)
SELECT
Field1,
Field2
FROM
YourSourceTable
SELECT
RowNumber,
Field1,
Field2
FROM
@NewTable
La part belle à ce sujet, est que vous serez en mesure de détecter des lignes identiques si votre source La table n'a pas de clé primaire.
Aussi, à ce stade, je suggère d'ajouter une clé primaire à chaque table que vous avez, si elles n'en ont pas déjà.
créer la table T1 (N1 int, N2 int)
insert dans t1 sélectionner 200.300
insert dans t1 sélectionner 200.300
insert dans t1 sélectionner 300.400
insert en t1 sélectionnez 400,400 ..... ......
select row_number() plus (par ordre [N1]) RowNumber, * de t1
J'ai une requête, et je dois trouver le numéro de ligne que la requête renvoie la réponse . Je n'ai aucun compteur domaine. comment je le fais?
Si je comprends bien votre question, vous avez une sorte de requête qui renvoie une ligne, ou quelques lignes (réponse, des réponses) et vous voulez avoir un des associés de numéro de ligne avec une « réponse »
Comme vous dit que vous n'avez pas contre-champ donc ce que vous devez pour est le suivant:
Il serait vraiment utile si vous avez fourni plus de détails à votre question (s). Si vous confirmez que je comprends votre question correctement, je vais ajouter un exemple de code
regardez ce http://databases.aspfaq.com/database/how-do-i-return-row-numbers-with- my-query.html –
Pouvez-vous poster un exemple de la requête que vous essayez d'exécuter? – Jeremy