1

J'ai une table de choux avec des id_choux
j'ai aussi une table de carottes avec des id_carottes

enfin, j'ai une table de liens entre ces choux et ces carottes (couples id_choux, id_carotte)

comment trouver tous les choux qui n'ont pas de lien?

2

SELECT *
FROM choux 
WHERE choux.id_choux NOT IN (SELECT id_choux FROM liens)


j'ai peut être lu trop vite tongue
(et ça fait longtemps que j'ai pas fait de sql embarrassed)

3

ça pourrait marcher.

j'avais pensé tout de suite à une merde compliqué style

select * from choux where 1 order by select count(*) from liens where id_choux = ah merde je connais pas l'id du choux que je regarde triso

Merci hehe

4

arf, ça marche pas si la table liens est vide sad

5

Je crois qu'il te faudrait utiliser quelque chose du genre LEFT JOIN ou RIGHT JOIN, mais la syntaxe exacte, sais pas. Surtout que tu peux utiliser l'un comme l'autre suivant la table que tu utilises d'abord.
W3School SQL
Different SQL JOINs

Before we continue with examples, we will list the types of JOIN you can use, and the differences between them.

* JOIN: Return rows when there is at least one match in both tables
* LEFT JOIN: Return all rows from the left table, even if there are no matches in the right table
* RIGHT JOIN: Return all rows from the right table, even if there are no matches in the left table * FULL JOIN: Return rows when there is a match in one of the tables

Donc je pense à quelque chose comme
SELECT * FROM choux LEFT JOIN liens ON (et ici vient une condition que je n'arrive pas à trouver, pourquoi je n'ai pas mon cours de SQL sous la main quand j'en ai besoin !?)

Si tu es assez patient, je peux retrouver, je sais qu'on a eu une question tout à fait semblable, mais je suis en vacances jusqu'au 26 cool
avatar
Je sais qu'il y a marqué "con" sur ma gueule. Je suis né comme ça, je m'y fais. Mais pourquoi toutes les filles qui me plaisent se sentent obligées de rajouter le suffixe "-fident" ?

6

j'ai résolu le pb en ajoutant un élément "dummy" aux liens, d'identifiant -1, qui n'existera jamais dans les choux.

mais je suis toujours intéressé par la vraie solution.

7

ça peut-être ? (pas essayé)
SELECT * FROM choux WHERE NOT EXISTS (SELECT id_choux FROM liens WHERE id_choux = id)
avatar
All right. Keep doing whatever it is you think you're doing.
------------------------------------------
Besoin d'aide sur le site ? Essayez par ici :)

8

9

mourn

10

11

SELECT * FROM choux c LEFT JOIN liens l ON c.id_choux = l.id WHERE l.id IS NULL
embarrassed
avatar
Webmaster et développeur du site. Pour tout probleme ou question envoyez un mini message ou mail.

Suivez l'actualité de tous vos site préférés sur yAronews : http://ns.yaronet.com =)

12

Zephyr, passe la carambar à yAro s'il te plait. embarrassed

13

surement pas, sa requête nécessite de lever les ambiguïtés pour chaque champ inutilement embarrassed
avatar
All right. Keep doing whatever it is you think you're doing.
------------------------------------------
Besoin d'aide sur le site ? Essayez par ici :)

14

elle marche certainement sa requête, mais celle de Zephyr est plus courte embarrassed

(rohlala quelle compétition ^^)