Bonjour,
A défaut de te présenter, c’est un peu sec de poser une question brute de fonderie avec zéro messages, sans dire bonjour.
Ensuite il faudrait en savoir plus sur ton souci.
Que veux-tu faire ? (sélection ? Mise à jour ?)
Quelle est ta base de données ? (Oracle, SQL Server, Mysql, autre ?)
Vu que je vois des guillemets est-ce que c’est appelé par un environnement de dév quelconque ? (.NET, java, autre)
Quelle est le code erreur renvoyée ?
Sinon ton code SQL comporte trop d’erreurs pour pouvoir être corrigé.
On écrit en SQL : SELECT * FROM Ma_table
ou en SQL: UPDATE Ma_Table
ou en curseur (Transact SQL (SQL Server), PL/SQL(Oracle)), ex en Transact-SQL: declare c_mon_curseur cursor for select a from Ma_Table… for update
Autrement dit, à part dans les curseurs, on ne trouve jamais de update à la suite d’un SELECT.
De plus autant que possible on écrit de préférence les requêtes de la façon suivante, plutôt que d’imbriquer des IN à l’infini.
SELECT A.Col2, B.Col2
FROM Ma_Table A, Ma_Table B
WHERE A.Col1=B.Col1
ou mieux encore
SELECT A.Col2, B.Col2
FROM Ma_Table A
INNER JOIN Ma_Table B
ON A.Col1=B.Col1
Les IN s’utilisent pour une recherche dans un sous-ensemble, et non pour faire une intersection entre deux ensembles. Dans ce dernier cas on utilise des jointures.
Ensuite seulement on utilise les sous-requêtes et les IN.
En me forçant à lire ton code, malgré qu’il pique les yeux et que tu n’expliques pas tes soucis (tout le monde a débuté un jour, mais je pense que tu ne t’es pas beaucoup penché sur la doc), voici ce que je propose en SQL Server (en Oracle c’est un peu plus compliqué)et dans le cas où tu veux faire une mise à jour:
UPDATE Descr2 A
SET B.Nom_Latin
FROM A
INNER JOIN Nom2 B ON A.ID_No = B.ID_No
WHERE B.Nom_Latin<>''
On aime bien de temps à autre répondre à des questions en SQL, mais je pense que www.developpez.net, forum SQL est quand même plus adapté à ta question puisqu’il contient pages de docs et d’aides(lis les docs et les autres questions posées avant de poser ta question).
Ps: Je ne pense pas que ça soit une bonne idée de mettre ton mail en signature.