/ Forside / Teknologi / Udvikling / SQL / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
SQL
#NavnPoint
pmbruun 1704
niller 962
fehaar 730
Interkril.. 701
ellebye 510
pawel 510
rpje 405
pete 350
gibson 320
10  smorch 260
[mysql 4] 3 tabeller i en join
Fra : Martin


Dato : 08-04-06 21:57

Hej gruppe.

Jeg har et lille problem.

Jeg have nogen udtræk fra 3 tabeller, nedenstående har jeg beskrevet
tabellerne, samt mit ønskede resultat.

Tabeller:

tbl_gruppe:
gruppe_id
gruppe_navn

tbl_status:
status_id
status_navn
status_sortering

tbl_medlem:
medlem_id
medlem_navn
_gruppe_id
_status_id


I min medlemstabel har jeg nogen records, fx.
id: 1 navn: Martin gruppe: 1 status: 1
id: 2 navn: Ole gruppe: 1 status: 2

tbl_gruppe har også nogen records fx.
id: 1 navn: hold1

tbl_status har det også
id: 1 navn: medlem sortering: 2
id: 2 navn: supermedlem sortering: 1

Så mit ønskede udtræk skal indeholde følgende:

hente status_navn, og medlems_navn
hvor gruppe_id = 1
og udtrækkene skal sorteres via status_sortering med lavest først.

Altså noget lign nedenstående.
SELECT m.medlem_id, m.medlem_navn, s.status_navn, g.gruppe_navn
FROM tbl_medlem AS m, tbl_status AS s, tbl_gruppe AS g
WHERE m._gruppe_id = '1' AND m.medlem_id = s.status_id
ORDER BY s.status_sortering

 
 
Peter Brodersen (08-04-2006)
Kommentar
Fra : Peter Brodersen


Dato : 08-04-06 22:14

On Sat, 08 Apr 2006 22:57:29 +0200, Martin <news@natten-i.dk> wrote:

>SELECT m.medlem_id, m.medlem_navn, s.status_navn, g.gruppe_navn
>FROM tbl_medlem AS m, tbl_status AS s, tbl_gruppe AS g
>WHERE m._gruppe_id = '1' AND m.medlem_id = s.status_id
>ORDER BY s.status_sortering

Du mangler at angive, hvordan du forbinder de enkelte tabeller. Fx:

SELECT m.medlem_id, m.medlem_navn, s.status_navn, g.gruppe_navn
FROM tbl_medlem AS m, tbl_status AS s, tbl_gruppe AS g
WHERE m._gruppe_id = '1' AND m.medlem_id = s.status_id
AND m._gruppe_id = g.gruppe_id
AND m._status_id = s.status_id
ORDER BY s.status_sortering


Det er blot de to AND-linjer, jeg har tilføjet.

--
- Peter Brodersen
Find dig selv: http://map.ter.dk/

Martin (08-04-2006)
Kommentar
Fra : Martin


Dato : 08-04-06 23:13

Peter Brodersen wrote:
> On Sat, 08 Apr 2006 22:57:29 +0200, Martin <news@natten-i.dk> wrote:
>
>> SELECT m.medlem_id, m.medlem_navn, s.status_navn, g.gruppe_navn
>>FROM tbl_medlem AS m, tbl_status AS s, tbl_gruppe AS g
>> WHERE m._gruppe_id = '1' AND m.medlem_id = s.status_id
>> ORDER BY s.status_sortering
>
> Du mangler at angive, hvordan du forbinder de enkelte tabeller. Fx:
>
> SELECT m.medlem_id, m.medlem_navn, s.status_navn, g.gruppe_navn
> FROM tbl_medlem AS m, tbl_status AS s, tbl_gruppe AS g
> WHERE m._gruppe_id = '1' AND m.medlem_id = s.status_id
> AND m._gruppe_id = g.gruppe_id
> AND m._status_id = s.status_id
> ORDER BY s.status_sortering

MySQL returned an empty result set (i.e. zero rows). (Query took 0.0005 sec)

Jeg fandt lige denne linje

AND m.medlem_id = s.status_id

den ser helt forkert ud - så den har jeg fjernet, og giver nu

MySQL returned an empty result set (i.e. zero rows). (Query took 0.0004 sec)

:(

Martin (08-04-2006)
Kommentar
Fra : Martin


Dato : 08-04-06 23:18

Martin wrote:
> Jeg fandt lige denne linje
>
> AND m.medlem_id = s.status_id
>
> den ser helt forkert ud - så den har jeg fjernet, og giver nu

Heheh... da jeg så lige gav et _status_id til min record, så virkede det
meget bedre :)

Tak for det :)

Søg
Reklame
Statistik
Spørgsmål : 177558
Tips : 31968
Nyheder : 719565
Indlæg : 6408918
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste