Detta funkar nog inte ens, men en del av er verkar ruskigt bra på det där med databaser så kanske, kanske... Har för mig att man inte kan lägga in konstanter i ett on vilkor i Access. Men du göra det i SQL Server. Hur som helst kan du i alla fall testa. Har varken Acces eller SQL Server så jag har ej hunnit testa frågan.: Snällt att ni hjälper mig men jag fattar inte riktigt vad som händer. Kan inte någon bara skriva om frågen med de namnen som jag angav? Allt ligger alltså i samma tabell och fälten heter anvandare respektive skiva. Det finns bara en tabell och där finns följande fält: ID, nickid, skivid. Hej. Hmm, vilket är namnet på min tabell, är det ut1 eller ut2 eller hur ska jag göra? Hur ska jag skriva om min tabell där allt ligger heter "basen"? select b2.nickidSQL-problem
Jag har en tabell med fälten anvandare och skiva. Bägge är tal. En användare kan ha massor med skivor. Det kan t.ex. se ut såhär:
60 13
60 56
60 45
60 67
61 56
61 99
62 45
62 67
62 33
62 66
62 01
Nu vill jag ordna användarna efter hur stor del av deras skivor en viss användares skivor utgör. Så om jag gjorde en jämförelse med användaren 60s skivor så skulle 61 komma först eftersom han har 50% överensstämmelse sedan 62 med 40%. Det vore dessutom väldigt bra om man kunde få fram procentsatsen på något sätt. Hoppas att någon av er ser det som en utmaning för jag själv har ingen som helst aning om hur det skulle gå till :-)Sv: SQL-problem
SELECT Users.UserID, Users.UserName, (SELECT Count(MyDisks.DiskID)/Count(*)
FROM Disks LEFT JOIN Disks As MyDisks ON ((Disks.UserID = Users.UserID) And (Disks.DiskID = MyDisks.DiskID) And (MyDisks.UserID = 60)))
FROM UsersSv: SQL-problem
Sv: SQL-problem
ID är unik och används inte till nåt speciellt. Användarid är ett tal som står för en viss användare. Skivid är ett tal som står för en speciell skiva. En användare kan ha massa skivor. Nu vill jag, genom att utgå från en viss användare, hitta den som har mest liknande skivsamling. Helst vill jag att man ska få fram en procentsats som säger hur stor procent av användare nummer 1s samling är av användare nummer 2s samling.Sv: SQL-problem
Detta är testat i en Oracle databas och jag vet inte riktigt hur
mycket Oraclespecifikt detta är, men prova.
select ut2.nickid
,(count(ut2.skivid) / ut3.antal) * 100 procent
from um_test ut1
,um_test ut2
,(select nickid, count(*) antal from um_test group by nickid) ut3
where ut1.skivid = ut2.skivid
and ut1.nickid != ut2.nickid
and ut2.nickid = ut3.nickid
and ut1.nickid = 60
group by ut2.nickid, ut3.antal;
Resultatet blir :
NICKID PROCENT
61 50
62 40
/UffeSv: SQL-problem
Sv: SQL-problem
,(count(b2.skivid) / b3.antal) * 100 procent
from basen b1
,basen b2
,(select nickid, count(*) antal from basen group by nickid) b3
where b1.skivid = b2.skivid
and b1.nickid != b2.nickid
and b2.nickid = b3.nickid
and b1.nickid = 60
group by b2.nickid, b3.antal;