OVH Cloud OVH Cloud

Sur 2 tables lignes présentes sur une seule table

5 réponses
Avatar
Richard
Bonjour.

Je cherche à réaliser une requête selection qui visualise les lignes d'une
table qui n'ont pas de liens avec l'autre table

Table utilisateur
cle_utilisateur
...

Table materiel
Clé_utilisateur
...

Donc en clairement je veux avoir la liste des utilisateurs qui n'on pas de
matériels

Un utilisateurs peux aussi avoir un à plusieurs matériels

Cette requete par la suite sera remplacer par une requête insert puis delete

Merci de votre aide.

5 réponses

Avatar
Michel PRIORI
voir (left|right) outer join
dans la doc

bon courage

"Richard" wrote:

Bonjour.

Je cherche à réaliser une requête selection qui visualise les lignes d'une
table qui n'ont pas de liens avec l'autre table

Table utilisateur
cle_utilisateur
...

Table materiel
Clé_utilisateur
...

Donc en clairement je veux avoir la liste des utilisateurs qui n'on pas de
matériels

Un utilisateurs peux aussi avoir un à plusieurs matériels

Cette requete par la suite sera remplacer par une requête insert puis delete

Merci de votre aide.


Avatar
Philippe T [MS]
Bonjour,

Comme cela c'est normalement bon :

SELECT *
FROM Table_utilisateur
WHERE cle_utilisateur NOT IN (SELECT cle_utilisateur FROM Table_materiel)


----------------------------------------------------------------------
Philippe TROTIN - Microsoft Service France

"Richard" wrote in message
news:
Bonjour.

Je cherche à réaliser une requête selection qui visualise les lignes d'une
table qui n'ont pas de liens avec l'autre table

Table utilisateur
cle_utilisateur
...

Table materiel
Clé_utilisateur
...

Donc en clairement je veux avoir la liste des utilisateurs qui n'on pas de
matériels

Un utilisateurs peux aussi avoir un à plusieurs matériels

Cette requete par la suite sera remplacer par une requête insert puis
delete

Merci de votre aide.


Avatar
Richard
Bonjour.

Petit probléme le résultat est vide,
Je sais que j'ai des utilisateurs sans matériel, donc j'attend une table
avec des valeurs

je pense au probléme de la jointure et je ne vois pas comment le résoudre.

J'ai donc encore besoin d'aide

"Philippe T [MS]" a écrit :

Bonjour,

Comme cela c'est normalement bon :

SELECT *
FROM Table_utilisateur
WHERE cle_utilisateur NOT IN (SELECT cle_utilisateur FROM Table_materiel)


----------------------------------------------------------------------
Philippe TROTIN - Microsoft Service France

"Richard" wrote in message
news:
> Bonjour.
>
> Je cherche à réaliser une requête selection qui visualise les lignes d'une
> table qui n'ont pas de liens avec l'autre table
>
> Table utilisateur
> cle_utilisateur
> ...
>
> Table materiel
> Clé_utilisateur
> ...
>
> Donc en clairement je veux avoir la liste des utilisateurs qui n'on pas de
> matériels
>
> Un utilisateurs peux aussi avoir un à plusieurs matériels
>
> Cette requete par la suite sera remplacer par une requête insert puis
> delete
>
> Merci de votre aide.





Avatar
Jean-Paul Lauque
Une autre manière :

SELECT *
FROM Table_utilisateur AS u LEFT OUTER JOIN Table_materiel AS m
ON u.cle_utilisateur = m.cle_utilisateur
WHERE m.cle_utilisateur IS NULL

JP

Richard a écrit :
Bonjour.

Petit probléme le résultat est vide,
Je sais que j'ai des utilisateurs sans matériel, donc j'attend une table
avec des valeurs

je pense au probléme de la jointure et je ne vois pas comment le résoudre.

J'ai donc encore besoin d'aide

"Philippe T [MS]" a écrit :


Bonjour,

Comme cela c'est normalement bon :

SELECT *
FROM Table_utilisateur
WHERE cle_utilisateur NOT IN (SELECT cle_utilisateur FROM Table_materiel)


----------------------------------------------------------------------
Philippe TROTIN - Microsoft Service France

"Richard" wrote in message
news:

Bonjour.

Je cherche à réaliser une requête selection qui visualise les lignes d'une
table qui n'ont pas de liens avec l'autre table

Table utilisateur
cle_utilisateur
...

Table materiel
Clé_utilisateur
...

Donc en clairement je veux avoir la liste des utilisateurs qui n'on pas de
matériels

Un utilisateurs peux aussi avoir un à plusieurs matériels

Cette requete par la suite sera remplacer par une requête insert puis
delete

Merci de votre aide.









Avatar
Michel PRIORI
Il est étrange.

Combien de lignes te renvoient la sous requete ?
Combien de ligne contient ta table ?

"Richard" wrote:

Bonjour.

Petit probléme le résultat est vide,
Je sais que j'ai des utilisateurs sans matériel, donc j'attend une table
avec des valeurs

je pense au probléme de la jointure et je ne vois pas comment le résoudre.

J'ai donc encore besoin d'aide

"Philippe T [MS]" a écrit :

> Bonjour,
>
> Comme cela c'est normalement bon :
>
> SELECT *
> FROM Table_utilisateur
> WHERE cle_utilisateur NOT IN (SELECT cle_utilisateur FROM Table_materiel)
>
>
> ----------------------------------------------------------------------
> Philippe TROTIN - Microsoft Service France
>
> "Richard" wrote in message
> news:
> > Bonjour.
> >
> > Je cherche à réaliser une requête selection qui visualise les lignes d'une
> > table qui n'ont pas de liens avec l'autre table
> >
> > Table utilisateur
> > cle_utilisateur
> > ...
> >
> > Table materiel
> > Clé_utilisateur
> > ...
> >
> > Donc en clairement je veux avoir la liste des utilisateurs qui n'on pas de
> > matériels
> >
> > Un utilisateurs peux aussi avoir un à plusieurs matériels
> >
> > Cette requete par la suite sera remplacer par une requête insert puis
> > delete
> >
> > Merci de votre aide.
>
>
>