Kom ihåg mig?
Home Menu

Menu


Avancerad select i mysql

Ämnesverktyg Visningsalternativ
Oläst 2010-01-25, 16:37 #1
grinditwp grinditwp är inte uppkopplad
Flitig postare
 
Reg.datum: Mar 2008
Inlägg: 320
grinditwp grinditwp är inte uppkopplad
Flitig postare
 
Reg.datum: Mar 2008
Inlägg: 320
Standard Avancerad select i mysql

Har ett problem....

Har tabellerna;

user
- id
- name

catalog
- id
- name

group
- id
- name

group2user
- group_id
- user_id

group2catalog
- group_id
- catalog_id

Varje user kan tillhöra en eller flera "groups" och varje catalog kan också tillhöra en eller flera "groups".

Exempelvis;
Peter finns i group1 och group2 och Ola finns bara i group1
I group1 finns catalog1 och i group2 finns catalog2 och catalog3

När vi listar catalog så vill jag enbart att catalog1 ska visas för Ola medan Peter får se alla.

Jag förstår att det behövs göra en query med join och antagligen group.

Jag har testat:
PHP-kod:
//$user_id är inloggad användares id

SELECT cat.*   
FROM catalog cat
JOIN 
(group2user g2u)
ON (g2u.user_id '".$user_id."')
JOIN (group ggroup2catalog g2c)
ON (s.id s2c.group_id && s2c.catalog_id cat.id)
GROUP BY cat.id 
..men får fram alla kataloger för alla användare.
grinditwp är inte uppkopplad   Svara med citatSvara med citat
Oläst 2010-01-25, 17:03 #2
grinditwp grinditwp är inte uppkopplad
Flitig postare
 
Reg.datum: Mar 2008
Inlägg: 320
grinditwp grinditwp är inte uppkopplad
Flitig postare
 
Reg.datum: Mar 2008
Inlägg: 320
Löste det hela själv med;

PHP-kod:
SELECT catalog.*
FROM usercataloggroupgroup2usergroup2catalog
WHERE group2user
.user_id user.id
AND group2user.group_id group.id

AND group2catalog.group_id group.id
AND group2catalog.catalog_id catalog.id

AND user.id $user_id
GROUP BY catalog
.id 
grinditwp är inte uppkopplad   Svara med citatSvara med citat
Svara


Aktiva användare som för närvarande tittar på det här ämnet: 1 (0 medlemmar och 1 gäster)
 

Regler för att posta
Du får inte posta nya ämnen
Du får inte posta svar
Du får inte posta bifogade filer
Du får inte redigera dina inlägg

BB-kod är
Smilies är
[IMG]-kod är
HTML-kod är av

Forumhopp


Alla tider är GMT +2. Klockan är nu 22:41.

Programvara från: vBulletin® Version 3.8.2
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Svensk översättning av: Anders Pettersson
 
Copyright © 2017