select et valeur null

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : select et valeur null

par Cyrano » 01 févr. 2006, 16:00

Avec une jointure gauche tu pourrais sans doute y parvenir: sous réserve, teste comme ceci:

Code : Tout sélectionner

SELECT id_page_article, ARTICLE.contenu as contenu, ARTICLE.title as atitle, IMAGE.name as img, THEME.name as pathimg, XSLT.name as xslt FROM PAGE_ARTICLE, PAGE, ARTICLE, THEME, XSLT, USERS LEFT JOIN IMAGE ON IMAGE.id_image = ARTICLE.id_image WHERE PAGE_ARTICLE.id_page = PAGE.id_page AND PAGE_ARTICLE.id_article=ARTICLE.id_article AND IMAGE.id_theme=THEME.id_theme AND ARTICLE.id_xslt=XSLT.id_xslt AND ARTICLE.id_users=USERS.id_users

par jeff » 01 févr. 2006, 15:59

dans mon ca il faut utiliser is null
 AND (ARTICLE.id_image=IMAGE.id_image OR is null ARTICLE.id_image )
merci

par jeff » 01 févr. 2006, 15:49

pardon pour l'indentation

il y a vraiment pas moyen de passer outre sans faire comme ceci

Code : Tout sélectionner

AND (ARTICLE.id_image=IMAGE.id_image OR ARTICLE.id_image = NULL)
le truc c'est que la requete est genere automatiquement a partir d'un fichier XML, donc je vais devoir trouver un truc pour ecrire la deuxieme condition

ps:d'ailleur ta soluce ne fonctionne pas :(

par zeus » 01 févr. 2006, 15:45

Ta requete ne sélectionne les article.id_image que s'ils existent dans la table images, c'est donc normal qu'elle ne sélectionne pas les lignes où article.id_image est NULL

Pour cela, il te suffit de sélectionner les lignes qui ont une correspondance dans la table images OU qui ont articles.id_image à NULL

NB : l'indentation, ça permet également de clarifier les requêtes SQL ;)

Code : Tout sélectionner

SELECT id_page_article, ARTICLE.contenu as contenu, ARTICLE.title as atitle, IMAGE.name as img, THEME.name as pathimg, XSLT.name as xslt FROM PAGE_ARTICLE, PAGE, ARTICLE, IMAGE, THEME, XSLT, USERS WHERE PAGE_ARTICLE.id_page=PAGE.id_page AND PAGE_ARTICLE.id_article=ARTICLE.id_article AND (ARTICLE.id_image=IMAGE.id_image OR ARTICLE.id_image = NULL) AND IMAGE.id_theme=THEME.id_theme AND ARTICLE.id_xslt=XSLT.id_xslt AND ARTICLE.id_users=USERS.id_users

select et valeur null

par jeff » 01 févr. 2006, 15:36

salut
j'effectue cette requete
SELECT id_page_article,ARTICLE.contenu as contenu,ARTICLE.title as atitle,IMAGE.name as img,THEME.name as pathimg,XSLT.name as xslt FROM PAGE_ARTICLE,PAGE,ARTICLE,IMAGE,THEME,XSLT,USERS WHERE PAGE_ARTICLE.id_page=PAGE.id_page AND PAGE_ARTICLE.id_article=ARTICLE.id_article AND ARTICLE.id_image=IMAGE.id_image AND IMAGE.id_theme=THEME.id_theme AND ARTICLE.id_xslt=XSLT.id_xslt AND ARTICLE.id_users=USERS.id_users
on retrouve dans cette une table article avec un champs id_image
ce champs peut etre optionnel(null)
mon probleme si ce champs est null ma requete ne renvoi pas les lignes ou id_image est null

comment faire
merci?