WN

WN (https://www.wn.se/forum/index.php)
-   Serversidans teknologier (https://www.wn.se/forum/forumdisplay.php?f=4)
-   -   Hjälp med SQL (https://www.wn.se/forum/showthread.php?t=1044231)

hoover 2010-10-11 16:38

Hjälp med SQL
 
Hejsan, jag behöver en snabb och effektiv query, men det står still i huvudet. Jag skriver frågan i pseudo och hoppas att någon kan hjälpa mig:

SELECT * FROM TABLE-A A
JOIN TABLE-B B ON A.id = B.id
JOIN TABLE-C C ON A.id = C.id
WHERE
C.category = 1
AND "antal rader i C med category = 1" > 0
LIMIT 1

...Jag vill alltså hämta en rad från 2 tabeller, A och B (+ ev C), men endast om C innehåller flera rader med samma id och ytterligare ett kriterie.

Jag kommer ställa frågan ofta så jag vill ha den så effektiv som möjligt och helst inte ställa flera frågor.

Josef C 2010-10-12 07:13

select *, count(*) cnt from A join B on(A.id=B.id) join C on(B.id=C.id) where C.category=1 group by C.category having cnt>0

Om du sätter alla primary keys rätt så kommer det gå fort.


Alla tider är GMT +2. Klockan är nu 11:28.

Programvara från: vBulletin® Version 3.8.2
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Svensk översättning av: Anders Pettersson