FAQ |
Kalender |
![]() |
#1 | |||
|
||||
Medlem
|
Hej
Jag försöker få ut 2 värden från två olika tabeller med en SELECT sats. Tabell 1 id username Tabell 2 user_id field_id value id i tabell 1 är samma värde som user_id i tabell 2 Jag vill få ut användarnamn från tabell 1 med tillhörande value där field_id är 20. Jag har provat: SELECT b.username, f.field_id, f.value FROM tabell1 b INNER JOIN tabell2 f ON b.id = f.user_id WHERE f.field_id = 20 och: SELECT tabell1.username, tabell2.field_id, tabell2.value FROM tabell1, tabell2 WHERE tabell2.field_id = 20 ORDER BY tabell2.value DESC LIMIT 5 |
|||
![]() |
![]() |
![]() |
#2 | ||
|
|||
Mycket flitig postare
|
SELECT tabell1.username, tabell2.field_id, tabell2.value FROM tabell1, tabell2 WHERE tabell2.field_id = 20 AND tabell1.id = tabell2.user_id ORDER BY tabell2.value DESC LIMIT 5
|
||
![]() |
![]() |
![]() |
#3 | |||
|
||||
Medlem
|
||||
![]() |
![]() |
![]() |
#4 | |||
|
||||
Medlem
|
Ursäkta att jag snor tråden men min fråga är ungefär densamma. Jag provade föreslagen sql på min databas men jag fick inte önskat utfall.
Mina tabeller ser ut som följer Tabell "Distrikt" distrikt int namn varchar (län) ... Tabell "Kunder" orgnummer int lan varchar (län) ... I tabellen distrikt har vi 77 poster. Ett distrikt (1) innehåller Östergötland och Jönköping. Distrikt 2 innehåller andra län/städer. I tabellen kunder har vi flera som "finns" i Östergötland och Jönköping. Men med mina frågor får jag bara ut endera läns kunder. Jag vill alltså att när jag väljer distrikt 1 få ut kunder som tillhör både Jönköping och Östergötland. select distinct orgnummer,lan from Kunder right JOIN (select namn,distrikt from Distrikt) as d ON d.namn = Kunder.lan where d.distrikt = 1 Någon som har ett förslag? |
|||
![]() |
![]() |
![]() |
#5 | |||
|
||||
Medlem
|
Löste mitt problem med följande sql. Det behövdes ingen JOIN utan en selectsats i where.
select distinct orgnummer,lan FROM Kunder WHERE Kunder.lan in((select namn from Distrikt where distrikt = 1)) |
|||
![]() |
![]() |
![]() |
#6 | ||
|
|||
Klarade millennium-buggen
|
Citat:
Det kan finnas en risk för bugg här om det inte finns en PK i tabell 2. |
||
![]() |
![]() |
![]() |
#7 | |||
|
||||
Bara ett inlägg till!
|
Citat:
något sådant här kanske? SELECT d.distinct, k.orgnummer,lan FROM Kunder k INNER JOIN district d ON k.lan = d.namn AND d.distrikt = 1 Senast redigerad av MRDJ den 2011-08-04 klockan 12:02 |
|||
![]() |
![]() |
![]() |
#8 | ||
|
|||
Supermoderator
|
Subqueries bör normalt sett undvikas om möjligt så även i ditt fall.
__________________
Full-stack developer, free for smaller assignments |
||
![]() |
![]() |
Svara |
Ämnesverktyg | |
Visningsalternativ | |
|
|