Requete sql

inegliz Messages postés 15 Date d'inscription mardi 30 décembre 2003 Statut Membre Dernière intervention 24 avril 2012 - 21 nov. 2011 à 11:06
cs_cantador Messages postés 4720 Date d'inscription dimanche 26 février 2006 Statut Modérateur Dernière intervention 31 juillet 2021 - 22 nov. 2011 à 19:06
bonjour !
j'ai une table avec une cinquantaine d'enregistrements
je veux afficher les enregistrements qui contiennent une valeure
comment definir les champs dans une requete
exp : select * TableSalarie
where les champs is not null

7 réponses

cs_Julien39 Messages postés 6414 Date d'inscription mardi 8 mars 2005 Statut Modérateur Dernière intervention 29 juillet 2020 367
21 nov. 2011 à 11:32
Bonjour,

select * TableSalarie
where champ1 is not null 
and champ2 is not null 


Je déplace vers le forum sql
0
cs_cantador Messages postés 4720 Date d'inscription dimanche 26 février 2006 Statut Modérateur Dernière intervention 31 juillet 2021 14
21 nov. 2011 à 11:47
Bonjour,

un exemple qui liste les enregistrements avec champ1 non nul ou
champ2 égal à une certaine valeur.

procedure TForm1.Button1Click(Sender: TObject);
begin
  ADOQuery1.Open;
  with ADOQuery1.SQL do
  begin
    Clear;
    Add('SELECT  * From Matable');
    Add('WHERE (CHAMP1 is Not NULL) OR');
    Add('(CHAMP2 := param ');
    ADOQuery1.FieldByName('parame').Value := MaValeur;
    ADOQuery1.Open;
  end;
end;



avec des OR et des AND imbriqués, d'autres combinaisons sont bien sûr possibles..

cantador
0
cs_cantador Messages postés 4720 Date d'inscription dimanche 26 février 2006 Statut Modérateur Dernière intervention 31 juillet 2021 14
21 nov. 2011 à 11:48
@Julien39 :

attention aux parenthèses..


cantador
0
inegliz Messages postés 15 Date d'inscription mardi 30 décembre 2003 Statut Membre Dernière intervention 24 avril 2012
21 nov. 2011 à 14:10
salut !
je me suis mal exprimé
je veux selectionner les champs qui ont des valeurs uniquement .
je veux faire un select sur toute la table avec la condition qu'il m'affiche les champs non vides de ma table
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cgandco Messages postés 219 Date d'inscription mercredi 26 octobre 2011 Statut Membre Dernière intervention 22 juin 2017 9
22 nov. 2011 à 10:07
Bonjour,

Si j'ai bien compris tu ne veux pas afficher le colonnes entièrement null.

A ma connaissance il n'y a pas d'instruction pour faire cela directement.

Tu peux toujours le faire en deux requetes,

une pour construire un string avec la liste des champs non null
une seconde pour lancer le select de cette liste



Bonne journée




Faites simple, aussi simple que possible, mais pas simpliste.
A. Einstein.
0
cs_cantador Messages postés 4720 Date d'inscription dimanche 26 février 2006 Statut Modérateur Dernière intervention 31 juillet 2021 14
22 nov. 2011 à 19:05
je veux selectionner les champs qui ont des valeurs uniquement .


Si tu souhaites tester s'il existe réellement des valeurs dans le champ
alors, il faut tester comme ceci :

(Champ 1 is <> '') (est différent de la chaine vide)
AND
(Champ 1 is not Null)

les deux conditions ainsi réunies seront efficaces

cantador
0
cs_cantador Messages postés 4720 Date d'inscription dimanche 26 février 2006 Statut Modérateur Dernière intervention 31 juillet 2021 14
22 nov. 2011 à 19:06
désolé, il faut écrire :



procedure TForm1.Button1Click(Sender: TObject);
begin
  ADOQuery1.Open;
  with ADOQuery1.SQL do
  begin
    Clear;
    Add('SELECT  * From Matable');
    Add('WHERE (CHAMP1 is Not NULL) AND');
    Add('(CHAMP1 <> '');
    ADOQuery1.Open;
  end;



cantador
0