webForumDet fria alternativet

Hur filtrerar info från 2 olika tabeller MySQL?

Databaser & SQL

5 svar · 522 visningar · startad av stralis

Medlem sedan nov. 20092 inlägg
Frågan#1

Någon som vet syntaxen för att filtrera fram SQL-frågan genom att kontrollera två tabeller?

Jag har tabell a innehållandes en kolumn med id och en annan medlemsnr
Jag har tabell b innehållandes en kolumn med id och annan status

OBS! id är den gemensama nämnaren i dessa tabeller.

Hur ska SQL-frågan utformas så att jag får ut samtliga medlemsnr för id där STATUS = AKTIV?

Finns samtliga kolumner i en tabell hade det varit löst med:

SELECT medlemsnr FROM table_name WHERE status= 'active')

Eller nåt liknande

MySQL version 5.0.81-community

Hoppas att det är någon vänlig skäl som vet hur detta ska gå till.

Tacksam för lite hjälp!

/stralis

Medlem sedan mars 20007 896 inlägg
#2
select
    a.medlemsnr
from
    a
    inner join
        b
    on
        b.id=a.id
        and
        b.status='aktiv'
Medlem sedan maj 20011 826 inlägg
#3

Får jag fråga varför du har två tabeller överhuvudtaget? Det känns väldigt dumt i det där fallet.

Medlem sedan aug. 20039 340 inlägg
#4

erciz skrev:

Får jag fråga varför du har två tabeller överhuvudtaget? Det känns väldigt dumt i det där fallet.

Om han vill att användaren ska kunna definiera en godtycklig mängd värden för status är det rätt tänkt, om man bara kan vara aktiv eller inaktiv håller jag med om att det är dumt.

Medlem sedan maj 20011 826 inlägg
#5

nitro2k01 skrev:

Om han vill att användaren ska kunna definiera en godtycklig mängd värden för status är det rätt tänkt, om man bara kan vara aktiv eller inaktiv håller jag med om att det är dumt.

Jo, men som jag tolkar

stralis skrev:

Jag har tabell a innehållandes en kolumn med id och en annan medlemsnr
Jag har tabell b innehållandes en kolumn med id och annan status

...så är id primärnyckel i båda tabellerna, så då borde man kunna slå ihop det till en enda tabell.

Medlem sedan nov. 20092 inlägg
#6

Tack SPiN för hjälpen! Strålande att få ett så snabbt svar som fungerar. Mycket tacksam för din hjälp.

Ang. varför det är två tabeller så beror det på jag idag använder två olika moduler till ett script. Dessa två moduler jobbar med "en gemensam nämnare" dvs id.

Att baka ihop allt till en tabell skulle innebära att jag får ändra om i PHP filer och DB. Vad min sql-fråga ska göra är att ge medlemnr för de aktiva medlemmar jag har så i DB och tabell A sköter registrering och tabell B har att göra med status som är många olika variabler. Jag vill få ut de som är Registrerade (ur A) och som är aktiva (ur B) och kombinera ihop detta, vilket SQL-frågan som SPiN presenterade gör på ett snyggt sätt.

Så allt är nu precis som jag vill ha det och tack än en gång SPiN för hjälpen!

/stralis

264 ms totalt · 4 externa anrop · v20260731065814-full.1dc6f849
125 ms — deklarationer (db)
0 ms — hämta statistik (cache)
136 ms — hämta tråd, inlägg och bilagor (db)
122 ms — ändringar (db)