OVH Cloud OVH Cloud

comparaison de chaine !

3 réponses
Avatar
christophe
bonjour à tous,

j'ai une table A avec champ A1
je dois regarder si ce champ A1 est contenu dans toutes les lignes de la
table B sur le champ B1
dans le cas d'un oui par exemple je vais flaggué à 1 le champ A2 de la table
A

quelle est la methode la plus optimale ?
j'ai pas trouvé mieux que de faire une boucle la dessus et je pense que dois
pouvoir faire mieux !

Ch.

3 réponses

Avatar
SQLpro
On 22 fév, 17:02, "christophe" wrote:
bonjour à tous,

j'ai une table A avec champ A1
je dois regarder si ce champ A1 est contenu dans toutes les lignes de la
table B sur le champ B1
dans le cas d'un oui par exemple je vais flaggué à 1 le champ A2 de l a table
A

quelle est la methode la plus optimale ?
j'ai pas trouvé mieux que de faire une boucle la dessus et je pense que dois
pouvoir faire mieux !

Ch.



UPDATE B
SET A2 = 1
FROM A T1
INNER JOIN B T2
ON T1.A1 = T2.B1

A +

--
Frédéric Brouard - - MVP SQL Server
Expert langage SQL, modélisation de données et MS SQL Server
Le site du SQL : http://sqlpro.developpez.com/
Formations, conseils, audit, modélisation,
optimisation, tuning : http://www.datasapiens.com
Avatar
christophe
Merci Fred toutefois ce n'est pas une comparaison egale justement !
mais il faut que le champ A1 soit contenu dans A2

un style de A1 like A2 ou plutot A1 = toto donc A2 like '%TOTO%'

:/



"SQLpro" a écrit dans le message de
news:
On 22 fév, 17:02, "christophe" wrote:
bonjour à tous,

j'ai une table A avec champ A1
je dois regarder si ce champ A1 est contenu dans toutes les lignes de la
table B sur le champ B1
dans le cas d'un oui par exemple je vais flaggué à 1 le champ A2 de la
table
A

quelle est la methode la plus optimale ?
j'ai pas trouvé mieux que de faire une boucle la dessus et je pense que
dois
pouvoir faire mieux !

Ch.



UPDATE B
SET A2 = 1
FROM A T1
INNER JOIN B T2
ON T1.A1 = T2.B1

A +

--
Frédéric Brouard - - MVP SQL Server
Expert langage SQL, modélisation de données et MS SQL Server
Le site du SQL : http://sqlpro.developpez.com/
Formations, conseils, audit, modélisation,
optimisation, tuning : http://www.datasapiens.com
Avatar
SQLpro
On 23 fév, 07:58, "christophe" wrote:
Merci Fred toutefois ce n'est pas une comparaison egale justement !
mais il faut que le champ A1 soit contenu dans A2

un style de A1 like A2 ou plutot A1 = toto donc A2 like '%TOTO%'

:/

"SQLpro" a écrit dans le message denews:117
On 22 fév, 17:02, "christophe" wrote:

> bonjour à tous,

> j'ai une table A avec champ A1
> je dois regarder si ce champ A1 est contenu dans toutes les lignes de la
> table B sur le champ B1
> dans le cas d'un oui par exemple je vais flaggué à 1 le champ A2 de la
> table
> A

> quelle est la methode la plus optimale ?
> j'ai pas trouvé mieux que de faire une boucle la dessus et je pense q ue
> dois
> pouvoir faire mieux !

> Ch.

UPDATE B
SET A2 = 1
FROM A T1
INNER JOIN B T2
ON T1.A1 = T2.B1

A +

--
Frédéric Brouard - - MVP SQL Server
Expert langage SQL, modélisation de données et MS SQL Server
Le site du SQL :http://sqlpro.developpez.com/
Formations, conseils, audit, modélisation,
optimisation, tuning :http://www.datasapiens.com



UPDATE B
SET A2 = 1
FROM A T1
INNER JOIN B T2
ON T1.A1 LIKE '%' + T2.B1 '%'

A +

--
Frédéric Brouard - - MVP SQL Server
Expert langage SQL, modélisation de données et MS SQL Server
Le site du SQL : http://sqlpro.developpez.com/
Formations, conseils, audit, modélisation,
optimisation, tuning : http://www.datasapiens.com