2 tabellen vergelijken.
ik heb een database met verschillende tabellen (8).
Bij deze o.a. een met artikel gegevens en 1 met status, wel of niet actief, gegevens. Nu is het zo dat als een artikel niet actief is z'n id niet voorkomt in de status table.
Ik wil graag een overzicht maken van alle artikelen die niet actief zijn. Dus waar de artikelen.id niet voorkomt in table status.
Waarschijnlijk heel simpel, maar ik kom er niet uit.
Maar ik kom er nog niet uit.
Ik snap niet hoe ik de artikelen uit de ene tabel kan selecteren als ze in de andere niet voorkomen.
Code (php)
1
2
3
2
3
SELECT artikelen.kort , artikelen.id , actief.art_id,actief.aan,actief.klant_id,artikelen.art_nummer
FROM `actief` left join `artikelen` ON actief.art_id =artikelen.id
WHERE actief.klant_id =30 and groep_id=19 and actief.groep_id=artikelen.spec_subgroep_id
FROM `actief` left join `artikelen` ON actief.art_id =artikelen.id
WHERE actief.klant_id =30 and groep_id=19 and actief.groep_id=artikelen.spec_subgroep_id
hiermee kan ik de artikelen selecteren die acief zijn, van een bepaald persoon en in een speciefeke groep vallen. maar ik wil juist de niet acieve.
Gewijzigd op 01/01/1970 01:00:00 door [email protected] st
Wanneer je dat hebt gedaan is het zo simpel als
Een artikel in de table artikelen is altijd beschikbaar, alleen de klant kan aangeven of hij het wel of niet wil tonen.
Dus in de table actief staat het atikel_id, klant_id,artikel_groep_id. groep_id is voor bepaalde producten die in een sub groep voorkomen maar ook in een thema groep. Als de klant dan de thema groep uit heeft staan, kan hij wel het artikel tonen in z'n subgroep.
schematisch:
table actief
-artikel_id
-klant-id
-groep_id
table klant
-id
-naam
-adres etc
table artikel
-id
-artikel_nummer
-prijs
-omschrijving
-etc
Gewijzigd op 01/01/1970 01:00:00 door [email protected] st
Toch blijf ik erbij dat je datamodel niet helemaal klopt: een extra tabel maken om artikelen wel of niet te laten zien lijkt me niet correct hoor!
Eigenlijk moet het id van een artikel altijd in de tabel actief voorkomen met een varchar van 1 byte
tabel actief
id INT
artikel_id INT
status VARCHAR 1 (j of n)
meer mag er niet voorkomen in de tabel actief
Gewijzigd op 01/01/1970 01:00:00 door Klaasjan Boven
(of dit of dat maar niet anders, bijv voor aanhef, status etc velden)