Ett alternativ är en inner join.
select distinct kategori.namn
from kategori
inner join nyhet on kategori.kategori_id = nyhet.kategori_id
order by kategori.namn
mvh
3 svar · 347 visningar · startad av axed
Hej,
Har två olika tabeller, en med nyheter och en med kategorier. Varje nyhet tillhör en kategori. Jag vill nu visa kategorierna, men bara om kategorin har minst en nyhet. Frågan borde bli något i stil med:
VÄLJ kategori.namn FRÅN kategori OM kategori.id FINNS_I nyhet.kategori_id.
Men hur ska jag översätta detta till riktig sql-kod?
Ett alternativ är en inner join.
select distinct kategori.namn
from kategori
inner join nyhet on kategori.kategori_id = nyhet.kategori_id
order by kategori.namn
mvh
Använde den här koden:
SELECT DISTINCT category.name, category.id FROM category, news WHERE category.id = news.category
Det var DISTINCT jag hade missat, så tack för det. Men vilken av ovanstående koder är snabbast om man skulle ha väldigt många rader i databasen?
Jag anser att de två olika SQL-frågorna är likvärdiga. Resultatet är detsamma, och de bör tolkas på samma sätt av databasmotorn.