SmultronMedlem sedan juli 2002431 inlägg
Hur ska jag göra denna sql-satsen så att den fungerar
SELECT * FROM users, groups WHERE users.groups= 'groups.group_id WHERE class = '1''
jag har 2 tabeller
jag vill plocka alla från users som är medlemmar i en grupp, och gruppen måste ha class='1'
min sqlsats är ganska riktigt mycket fel men var värt ett försök :)
nån kanske kan hjälpa mig med den!
MickeA.comMedlem sedan feb. 20034 528 inlägg
Skicka gärna med eventuella felmess i framtiden.
Är 'class' av datatypen räknare el. tal, då ska det inte vara några fnuttar runt om.
Sen ska du heller inte ha några fnuttar runt groups.group_id.
Prova ta bort dom och testa.
@ndersMedlem sedan juni 200026 914 inlägg
Så här hade jag försökt:
SELECT * FROM users INNER JOIN groups ON users.groups = groups.groupid AND groups.class = 1
mvh
SmultronMedlem sedan juli 2002431 inlägg
class är en vanlig varchar men ska testa @nders förslag..
SteadyMedlem sedan dec. 2004202 inlägg
Skriv grouns.class = '1' då. :)
Men om du inte har annat än tal i den, rekommenderar jag dig att göra om den till Int.
SmultronMedlem sedan juli 2002431 inlägg
hmm verkar itne vara helty rätt problemet är ju att den ska plocka alla användare som är medlem i en grupp som har class='1'
@ndersMedlem sedan juni 200026 914 inlägg
Antingen förstår jag inte hur du menar, eller så är din datamodell konstig. Kan du beskriva hur tabellerna ser ut, ge exempel på innehåll, och vad du vill få ut?
SteadyMedlem sedan dec. 2004202 inlägg
Jag tror @nders menade såhär:
SELECT * FROM users INNER JOIN groups ON users.groups = groups.groupid [b]WHERE[/b] groups.class = 1
SmultronMedlem sedan juli 2002431 inlägg
fått det att funka nu
SELECT * FROM users INNER JOIN groups ON users.groups = groups.group_id AND groups.class = '1'
@ndersMedlem sedan juni 200026 914 inlägg
Steady skrev:
Jag tror @nders menade såhär:
SELECT * FROM users INNER JOIN groups ON users.groups = groups.groupid [b]WHERE[/b] groups.class = 1
Det gjorde han inte. :)
Men denna gång borde det funka lika bra med WHERE. Hade det varit en OUTER JOIN hade det inte gjort det dock. :)
Jag håller med om detta:
Steady skrev:
Men om du inte har annat än tal i den, rekommenderar jag dig att göra om den till Int.
Mvh :)
SteadyMedlem sedan dec. 2004202 inlägg
@nders skrev:
Det gjorde han inte. :)
Men denna gång borde det funka lika bra med WHERE. Hade det varit en OUTER JOIN hade det inte gjort det dock. :)
Man lär så länge man lever, det visste jag inte. :) God jul!
@ndersMedlem sedan juni 200026 914 inlägg
Skillnaden är:
WHERE appliceras på resultatet. I en OUTER JOIN skulle det alltså rensa bort alla poster som var anledningen till att man använde en OUTER JOIN överhuvudtaget. Resultatet skulle alltså bli en INNER JOIN.
AND i samband med joinen sätter villkoret i samband med just joinen, och inte på slutresultatet.
Hoppas någon förstod något av mitt svammel i alla fall. :)
God jul tillbaks!
mvh