webForumDet fria alternativet

Data från två tabeller ?

Databaser & SQL

5 svar · 285 visningar · startad av Pellefant

Medlem sedan maj 20023 372 inlägg
Frågan#1

Hej!

Jag har två tabeller.

Tabell:members
Fält: id, name, surname, job, company

Tabell: orders
Fält: id, memberid, subject, region

memberid är alltid samma( tas ifrån )som Tabell-members: id

Jag skulle vilja sortera efter "company" (Dvs gå igenom members-tabellen, sortera efter company för att sedan skriva ut det, kruxet är ju att vissa värden ligger i orders-tabellen.)

Hoppas någon förstår. Fråga gärana annars så ska jag försöka förklara bättre.

Medlem sedan jan. 20011 140 inlägg
#2
Select m.*,o.* from members m inner join orders o on m.id = o.memberID order by m.company

Byt m.* och o.* till dom fält du ska använda
tex m.id

Medlem sedan maj 20023 372 inlägg
#3

Hej!

Jag får inte till det riktigt, kör med denna nu, men det skrivs inte ut ngt allt (inga träffar), har testat att ändra lite här o var.

Select m.id,o.memberid from members m inner join orders o on m.id = o.memberID order by m.company
Medlem sedan mars 20034 471 inlägg
#4

Pellefant skrev:

Hej!

Jag får inte till det riktigt, kör med denna nu, men det skrivs inte ut ngt allt (inga träffar), har testat att ändra lite här o var.

Select m.id,o.memberid
from members m inner join orders o on m.id = o.memberID
order by m.company

Du plockar ut två kolumner med samma id-värden och försöker sortera på något annat. Klart att inte det går! Du kan bara sortera baserat på någon av de kolumner du plockar ut. Dessutom betvivlar jag att du önskar ta ut just idnummerna i dubbel upplaga och inget annat.

Testa:

Select m.*, o.* 
from members m inner join orders o on m.id = o.memberID 
order by m.company

Då plockar du ut rubb och stubb ur båda tabellerna sorterat efter company.

eller

Select o.*, m.company 
from members m inner join orders o on m.id = o.memberID 
order by m.company

då får du ut allt från orders sorterat efter company.

Medlem sedan dec. 200012 464 inlägg
#5

Om du inte får ut något resultat av ovanstående fråga så finns det inga poster i orders-tabellen med samma id som någon post i members.

Du kan bara sortera baserat på någon av de kolumner du plockar ut.

Det stämmer faktiskt inte. Det går så länge man inte blandar in union/distinct och group by.

Medlem sedan maj 20023 372 inlägg
#6

Aha, nu förstår jag. Jag trodde att man skulle ha de som har relationer till varandra i början. Men nu hajar jag hur det fungerar. Fick koden att funka med.

Tack så mycket.

278 ms totalt · 4 externa anrop · v20260731065814-full.a51de22e
123 ms — deklarationer (db)
0 ms — hämta statistik (cache)
144 ms — hämta tråd, inlägg och bilagor (db)
131 ms — ändringar (db)