Aller au contenu

Recherche dans une chaine de caractère


Sujets conseillés

Posté

Bonjour,

Je vais simplifier la requête afin de ne pas embrouiller tout le monde.

En bref j'ai un champ "lecture_sujet_forum" dans ma table qui contient ce genre d'information :

0-14-25-5-157-2-6

0-5-2-3-444-58-69

...

Les numéro sont unique. J'aimerai savoir si un numero ce trouve dans cette liste.

Comment faire? (Je voudrai rester dans la norme, mais si on ne peut pas j'utilise SQL Server 2005)

Merci d'avance!

Posté

Ca ne marcherait malheureusement pas : une recherche du sujet 44 retournerait ledit sujet, mais également toutes les variantes contentant la chaîne 44 : 144, 2445, etc ...

Posté

Bonjour,

Pourquoi faire compliqué?

SELECT * FROM ma_table WHERE '-' + lecture_sujet_forum like '%-(id)-%';

Portekoi

Posté

Ben non pourquoi?

SELECT * FROM ma_table WHERE '-' + lecture_sujet_forum + '-' like '%-(id)-%';

Suffit de mettre le '-' devant et derrière le champs recherché non?

Posté

Il reste un soucis. Les type ne sont pas du tout compatible...

'-' ! varchar pour SQL server et lecture_sujet_forum est du text... Comment faire pour les concaténer?

Posté

Bonjour,

Essaie avec un convert(varchar(6000), lecture_sujet_forum).

Je ne me souviens plus de la syntaxe d'un convert avec mysql :(

Portekoi

Posté

Merci Portekoi, ta fonction... fonctionne :thumbsup:

Mais malheureusement ma requête donne des résultats assez farfelu

Voila le SQL :

SQLe = "Select * FROM SelSCatForum Where id_scat_f = " & RSs.fields("id_scat_f") & " AND EXISTS (Select * from SelSujetForum Where id_scat_f = SelSCatForum.id_scat_f AND '-' + convert(varchar(6000), lecture_sujet_f) + '-' like '%-" & Session("id_m") & "-%')"

Explication :

J'aimerai savoir pour une catégorie donnée (RSs.fields("id_scat_f")) s'il existe un sujet que le membre (Session("id_m")) n'a pas encore lu, cad dont l'id membre ne se trouve pas dans la chaine de caractère "lecture_sujet_f".

Après avoir fait cette requête :

* Si elle renvoit 0 resultat c'est que le membre -> pas de nv sujet

* Si elle renvoit >0 ->nv sujet

Posté

Résolu :

* Pourquoi est ce que j'utilisais exist alors que je n'avais que 1 resultat dans la requête externe

* Pour savoir s'il y a un nouveau sujet il faut savoir si le nombre de resultat de la requete audessu est inférieur au nombre total de résultat.

Voilà :D

Veuillez vous connecter pour commenter

Vous pourrez laisser un commentaire après vous êtes connecté.



Connectez-vous maintenant
×
×
  • Créer...