Kom ihåg mig?
Home Menu

Menu


SQL, hämta alla rader från tabell1 som har ett specifikt värde från tabell2

Ämnesverktyg Visningsalternativ
Oläst 2010-01-13, 10:02 #1
znap znap är inte uppkopplad
Medlem
 
Reg.datum: Jun 2007
Inlägg: 114
znap znap är inte uppkopplad
Medlem
 
Reg.datum: Jun 2007
Inlägg: 114
Question 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 
WHERE t2.result = t1.result ORDER BY t1.result DESC
znap är inte uppkopplad   Svara med citatSvara med citat
Oläst 2010-01-13, 15:23 #2
Westmans avatar
Westman Westman är inte uppkopplad
Klarade millennium-buggen
 
Reg.datum: Jun 2004
Inlägg: 4 021
Westman Westman är inte uppkopplad
Klarade millennium-buggen
Westmans avatar
 
Reg.datum: Jun 2004
Inlägg: 4 021
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.
Westman är inte uppkopplad   Svara med citatSvara med citat
Oläst 2010-01-13, 16:41 #3
znap znap är inte uppkopplad
Medlem
 
Reg.datum: Jun 2007
Inlägg: 114
znap znap är inte uppkopplad
Medlem
 
Reg.datum: Jun 2007
Inlägg: 114
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
znap är inte uppkopplad   Svara med citatSvara med citat
Oläst 2010-01-13, 16:46 #4
znap znap är inte uppkopplad
Medlem
 
Reg.datum: Jun 2007
Inlägg: 114
znap znap är inte uppkopplad
Medlem
 
Reg.datum: Jun 2007
Inlägg: 114
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...
znap är inte uppkopplad   Svara med citatSvara med citat
Oläst 2010-01-13, 16:59 #5
allstars allstars är inte uppkopplad
Klarade millennium-buggen
 
Reg.datum: Apr 2006
Inlägg: 2 126
allstars allstars är inte uppkopplad
Klarade millennium-buggen
 
Reg.datum: Apr 2006
Inlägg: 2 126
SELECT ID, Namn, Result FROM Tabell WHERE Result = (
SELECT MAX(Result) FROM Tabell GROUP BY Result ORDER BY Result DESC LIMIT 1
)
kanske?!
allstars är inte uppkopplad   Svara med citatSvara med citat
Oläst 2010-01-13, 17:09 #6
znap znap är inte uppkopplad
Medlem
 
Reg.datum: Jun 2007
Inlägg: 114
znap znap är inte uppkopplad
Medlem
 
Reg.datum: Jun 2007
Inlägg: 114
yes sådär, fast ännu enklare.

SELECT ID, Namn, Result FROM Tabell WHERE Result = (
SELECT MAX(Result) FROM Tabell )

tackar!
/ vic
znap är inte uppkopplad   Svara med citatSvara med citat
Oläst 2010-01-14, 07:55 #7
Westmans avatar
Westman Westman är inte uppkopplad
Klarade millennium-buggen
 
Reg.datum: Jun 2004
Inlägg: 4 021
Westman Westman är inte uppkopplad
Klarade millennium-buggen
Westmans avatar
 
Reg.datum: Jun 2004
Inlägg: 4 021
Hehe så du behövde inte tabell2 alls. Ja det underlättar ju.
Westman är inte uppkopplad   Svara med citatSvara med citat
Svara


Aktiva användare som för närvarande tittar på det här ämnet: 1 (0 medlemmar och 1 gäster)
 

Regler för att posta
Du får inte posta nya ämnen
Du får inte posta svar
Du får inte posta bifogade filer
Du får inte redigera dina inlägg

BB-kod är
Smilies är
[IMG]-kod är
HTML-kod är av

Forumhopp


Alla tider är GMT +2. Klockan är nu 23:26.

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