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.
11 svar · 339 visningar · startad av Smultron
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!
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.
Så här hade jag försökt:
SELECT * FROM users INNER JOIN groups ON users.groups = groups.groupid AND groups.class = 1
mvh
class är en vanlig varchar men ska testa @nders förslag..
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.
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'
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?
Jag tror @nders menade såhär:
SELECT * FROM users INNER JOIN groups ON users.groups = groups.groupid [b]WHERE[/b] groups.class = 1
fått det att funka nu
SELECT * FROM users INNER JOIN groups ON users.groups = groups.group_id AND groups.class = '1'
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 :)
@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!
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