webForumDet fria alternativet

dubletter left join

5 svar · 526 visningar · startad av jboy_87

jboy_87Medlem sedan aug. 20011 099 inlägg
#1

hejsan hur får jag bort dubletterna?
testade även med DISTINCT

select gang.ID,rubrik,medlemmar,max,admin,ikon,datum, gang_medlem.GruppID from gang
left JOIN gang_medlem ON gang_medlem.GruppID = gang.ID where gang_medlem.anv = '".$anv."' or gang.admin = '".$anv."'
order by gang.rubrik
LarsGMedlem sedan dec. 200012 464 inlägg
#2

Vilka dubletter? Ge exempel på datainnehåll och förväntat resultat.

Varför left join? Eftersom du har villkoret

where gang_medlem.anv = '".$anv."'

så blir det samma resultat som om du använt en inner join.

jboy_87Medlem sedan aug. 20011 099 inlägg
#3

jag vet inte varför man använder en left join jag vet bara vad inner join är.
Experimenterade mig fram det funkade nästan?

Admins som skapar grupper är inte medlemmar i tabellen gang_medlemmar.. endast medlemmar som joinar gruppen hamnar i gang_medlemmar. hoppas det hjälper?

ID är kopplat till GruppID

GANG:
ID
ADMIN

GANG_MEDLEMMAR
GRUPPID
ANV

**********************

LarsGMedlem sedan dec. 200012 464 inlägg
#4

Nej, det hjälper inte. Jag vill fortfarande ha datainnehåll och förväntat resultat.

jboy_87Medlem sedan aug. 20011 099 inlägg
#5

hoppas det här duger?
Är man admin skall det inte finnas poster i gang_medlem men skall synas på profilen.

innodb.gif
jboy_87Medlem sedan aug. 20011 099 inlägg
#6

Jag experimenterade lite och löste problemet.
Går det att göra det på bättre sätt?:

$anv = $_GET['anv'];

select gang.ID,rubrik,medlemmar,max,admin,ikon,datum, gang_medlem.GruppID,anv from gang_medlem
right join gang ON (gang.ID = gang_medlem.GruppID and gang.admin <> '".$anv."') where gang_medlem.anv = '".$anv."' or gang.admin = '".$anv."' order by gang.rubrik
134 ms totalt · 3 externa anrop · v20260731065814-full.3ab8d573
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
130 ms — hämta tråd, inlägg och bilagor (db)