Bonjour,

J'ai une table nommé contrat.

Je voudrai bien lister toutes les lignes de cette table et afficher la colonne type du contrat dans chaque ligne.

Pour cela j'ai écrit le code suivant :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
declare @compteur int
  declare @nbrligne int; 
  declare @typecontrat nvarchar(200)
 
  select @nbrligne = (select COUNT(*) from [RESOCRM].[dbo].[XCONTRAT] where xcon_companyid ='1966' and xcon_Deleted is null)
 
  set @compteur = 1 ;
 
  while (@compteur <= @nbrligne)
 
  begin
 
  select @typecontrat = (select xcon_typecontrat from [RESOCRM].[dbo].[XCONTRAT] where xcon_companyid ='1966' and xcon_Deleted is null)
  print @nbrligne + '' + @typecontrat
 
  set @compteur = @compteur + 1
 
  end
Le problème c'est que j'obtiens l'erreur suivante :

La sous-requête a retourné plusieurs valeurs. Cela n'est pas autorisé quand la sous-requête suit =, !=, <, <= , >, >= ou quand elle est utilisée en tant qu'expression.

Est-ce-qu'il faut modifier la ligne qui existe dans le begin ?

Merci