Hej. Jag är helt lost! Sitter och bygger en community och har lite svårt med att få sorteringen som jag vill ha. Jag har en tabell som heter friends som jag öppnar så här:
Set FriendsData=Server.CreateObject("ADODB.Recordset")
FriendsData.open "SELECT * from friends WHERE (To = " & Request("ProfileID") & " OR From = " & Request("ProfileID") & ") AND Approved = 1 ORDER By " & Request("order") & ";",connect,adOpenStatic,adLockOptimistic
Nu till problemet, jag vill ju kunna sortera på Namn (username) eller Senast Inloggad (last_Date). Grejjen är att dessa fält ligger i medlem databasen (members).
Hur gör jag, behöver kod tack! Förstår att det är någon form av inner join eller liknande som behövs, men som sagt, behöver kod ;)
Jag kan fundera på att fundera på det, om du kastar bort allt skräp ur koden och visar den komplette SQL-frågan såsom databasen tolkar den. Annars börjar jag bara grina när jag tittar på din kod. :)
SELECT * from friends WHERE (To = 5 OR From = 5) AND Approved = 1 ORDER By From;
ORDER By From; <-- From är ett Tal som motsvarar ett ID från tabellen members, i den tabellen finns ett fält som heter Username och det är enligt det fältet jag vill sortera.
Svårt att förklara exakt hur jag menar, men jag antar att detta går att lösa.
Okey, jag är fortfarande lost tror jag. Så här ser mina tabeller ut:
tabell -> members
ID (Räknare)
Username (Text)
Last_Date (Datum/Tid)
+ en del andra fält som inte är relevanta för min fråga
tabell -> friends
ID (Räknare)
To (Tal)
From (Tal)
+ en del andra fält som inte är relevanta för min fråga
Jag vill alltså sortera efter t ex From i tabellen friends. Men sorterar jag enligt exemplet ovan, så sorteras ju min data efter det ID som varje medlem har och det blir ju tokigt eftersom Anders Andersson kanske har ID 75 medans Örjan Öste har 15 och kommer då att sorteras före Anders Andersson.
Skulle vara tacksam för kod för att utföra sorteringen enligt mina önskemål. Vad det gäller reserverade ord så får jag kolla över det och ändra på de ställen jag använt sådana.
Kan du inte visa hur ditt data ser ut, och hur du vill att resultatet ska se ut, för jag fattar ingenting. Om det nu inte är bara en vanlig join du vill åt, då skulle den kunna se ut så här:
SELECT m1.username as ToName, m2.username as FromName, friends.*
from friends
inner join members m1 on friends.to = m1.id
inner join members m2 on friends.from = m2.id
WHERE (To = 5 OR From = 5) AND Approved = 1
ORDER By FromName
Men som sagt, jag är inte alls säker på att jag förstår...
edit: hoppsan, här händer det grejer medans jag gör annat. :)
SELECT ToMember, FromMember, To_Comment, From_Comment, IRL
from friends inner join members on friends.fromMember = members.id
WHERE 5 in (ToMember,FromMember)
AND Approved = 1
ORDER By members.username
Nu till problemet, jag vill ju kunna sortera på Namn (username) eller Senast Inloggad (last_Date).
Jag antar att du döpt om kolumn-namnen?
SELECT ToMember, FromMember, To_Comment, From_Comment, IRL, Username, Last_Date
FROM friends
INNER JOIN members ON friends.fromMember = members.id
WHERE 5 in (ToMember,FromMember) AND Approved = 1
ORDER By Username, Last_Date DESC