![]() |
SQL, hämta alla rader från tabell1 som har ett specifikt värde från tabell2
Tjena!
Bökar med en query som jag inte får till. Hur ska frågan se ut om jag vill få ut alla rader från en tabell som har det högsta värdet från en annan tabell. Har försökt i stil med följande (mysql): Kod:
SELECT t1.result, t2.* FROM tabell1 as t1, tabell2 as t2 |
Högsta resultatet eller alla resultat? Du kanske menar något i stil med:
select t2.* FROM tabell2 as t2 WHERE t2.result = (SELECT t1.result FROM tabell1 as t1 ORDER BY t1.result desc limit 1) Observera att syntaxen kan vara käpprätt åt skogen, det är urvalsprincipen jag undrar över. |
Jo precis alla rader i tabell 1 som har samma värde på result som det högsta värdet på result i tabell 2, skiver som en kratta men det kanske går att förstå ändå...
Jag testade din query, det klagas inget över felaktig syntax men däremot får jag ett tomt svar |
Egentligen har jag tänkt lite fel inser jag nu... Jag behöver bara alla rader som har det högsta värdet på result. Om data ser ut på följande sätt:
ID | NAMN | RESULT -------------------------- 0 | Jens | 4 1 | Nicke | 2 2 | Ola | 4 3 | Bengt | 1 Nu vill jag få ut raderna med Ola och Jens... |
SELECT ID, Namn, Result FROM Tabell WHERE Result = (
SELECT MAX(Result) FROM Tabell GROUP BY Result ORDER BY Result DESC LIMIT 1 ) kanske?! |
yes sådär, fast ännu enklare.
SELECT ID, Namn, Result FROM Tabell WHERE Result = ( SELECT MAX(Result) FROM Tabell ) tackar! / vic |
Hehe så du behövde inte tabell2 alls. Ja det underlättar ju.
|
Alla tider är GMT +2. Klockan är nu 23:21. |
Programvara från: vBulletin® Version 3.8.2
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Svensk översättning av: Anders Pettersson