Jeg har en vare_tabel som har hare et hovedkategori_id.
Jeg har også en vare_kategori_tabel med et kategori_id og vare_id. (disse kategorier er varen også tilføjet i)
Jeg skal have lavet et SQL udtræk, som henter alle vare ud fra kategori_id. Gir det mening?
Dvs den skal - finde alle vare med hovedkategori_id der passer, fra vare_tabel - finde alle vare_id, hvor kategori_id der passer, vare_kategori_tabel, og så ud fra de fundne vare_id, hente vare oplysninger.
Teknologi, AI og forretning er i centrum på Computerworlds Cloud og AI Festival i København d. 18. og 19. september. Se hele programmet for den store konference om strategisk brug af Cloud og AI på: www.cloud-festival.dk
Jeg har en vare tabel (cas_eshop_vare), hvor der er et kategori_id felt.
Jeg har en vare_kategori tabel (cas_eshop_vare_kategori), hvor der er kategori_id og vare_id felt.
Når jeg skal lave mit udtræk så har jeg en 'kategori_id' til rådighed.
Jeg skal så have alle vare fra cas_eshop_vare hvor kategori_id passer, desuden skal jeg have de vare (igen fra cas_eshop_vare), fra vare_kategori (der kan du jo kun hive vare id ud, så skal igen ind og finde vare data i cas_eshop_vare).
Forståelsen.
Se det som at en udvidelse hvor en vare i første omgang kun kunne vre i en kategori, men hvor der så nu skal være mulighed for at en vare kan ligge i flere kategorier
Hvis en vare kan høre til forskellige kategorier og en kategori skal kunne indeholde forskellige varer er der et mange-til-mange forhold i mellem dem. Det klares ved at oprette en ekstra tabel.
Select cas_eshop_vare.vare_id, cas_eshop_vare_kategori.vare_id From cas_eshop_vare, cas_eshop_vare_kategori Where cas_eshop_vare.kategori_id in (4,9,10) Or cas_eshop_vare_kategori.kategori_id in (4,9,10)
Jeg har ikke testet det. Jeg vil stadig hævde at din datamodel er forkert.
Det ville jeg klare med en union: select v.* from cas_eshop_vare v where kategori_id=123 union select v.* from cas_eshop_vare v inner join cas_eshop_vare_kategori vk where kategori_id=123
ffsoft, ked af jeg ikke har svaret før nu, det er løst på en anden måde. Tak for hjælpen.
Synes godt om
Ny brugerNybegynder
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.