Avatar billede hirtshals Nybegynder
04. september 2009 - 08:37 Der er 3 kommentarer

Finde varer uden Kategori

Jeg har 3 Tabeller

Tabel 1 - Varer
idVare
VareNavn

Tabel 2 - Kategori
idKategori
KategoriNavn

Tabel 3 - VaresKategorier
idVareKategorie
idVare
IdKategori

Der er en 1 til mange relation fra tabel 1 > 3 IdVare, dvs en vare kan tilhøre mange kategorier

Der er en 1 til mange relation fra tabel 2 > 3 IdKategori, dvs en kategori kan have mange varer

Tabel 3 - er dermed en samle tabel

Nu mangler jeg en SQL sætning, der kan give mig Alle varer  der INGEN Kategori har, dvs Alle forekomster i Tabel 1, der ikke findes i tabel 3

Hvilken SQL sætning skal bruges ??
Avatar billede hrc Mester
04. september 2009 - 09:22 #1
er det ikke bare dette?

select v.idVare, v.Varenavn
from varer v
join varesKategorier vk on (vk.idVare = v.idVare)
where (vk.idVareKategorie is null)
Avatar billede hrc Mester
04. september 2009 - 09:24 #2
nåe nej. Det er det ikke. Hvad så med dette her?

select v.idVare, v.varenavn
from varer v
where (v.idVare not in (select distinct idVare from varesKategorier))
Avatar billede hirtshals Nybegynder
04. september 2009 - 09:31 #3
Jeg fandt selv følgende

SELECT    v.IdVare, v.varenavn, VK.IdKategori
FROM        P LEFT OUTER JOIN
                     
vk ON p.IdProduct = vk.idProduct
WHERE    (vk.IdKategoriIS NULL)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Computerworld tilbyder specialiserede kurser i database-management

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester