Avatar billede tripwire Nybegynder
10. januar 2004 - 21:52 Der er 2 kommentarer og
1 løsning

sql join hjælp?

Hej eksperter.. vi sidder og roder med et php forum..

vi har følgende sql:

DROP DATABASE forum;

CREATE DATABASE forum;
USE forum;

CREATE TABLE category
(
    id INTEGER AUTO_INCREMENT,
    name VARCHAR(50) NOT NULL,
    PRIMARY KEY(id),
    INDEX(id)
)TYPE=INNODB;

CREATE TABLE forum
(
    id INTEGER  AUTO_INCREMENT,
    name VARCHAR(50) NOT NULL,
    description VARCHAR(200) NOT NULL,
    category_id INTEGER NOT NULL,
    PRIMARY KEY(id),
    INDEX(category_id),
    FOREIGN KEY (category_id) REFERENCES category (id) ON DELETE CASCADE ON UPDATE CASCADE
)TYPE=INNODB;

CREATE TABLE topic
(
    id    INTEGER  AUTO_INCREMENT,
    forum_id INTEGER NOT NULL,
    title  VARCHAR(200) NOT NULL,
    PRIMARY KEY (id),
    INDEX (forum_id),
    FOREIGN KEY (forum_id) REFERENCES forum (id) ON DELETE CASCADE ON UPDATE CASCADE
)TYPE=INNODB;

CREATE TABLE reply
(
    id  INTEGER  AUTO_INCREMENT,
    topic_id    INTEGER  NOT NULL,
    creator_id  VARCHAR(20),
    message  TEXT  NOT NULL,
    created  DATETIME,
    PRIMARY KEY (id),
    INDEX (topic_id),
    FOREIGN KEY (topic_id) REFERENCES topic (id) ON DELETE CASCADE ON UPDATE CASCADE,
    INDEX (creator_id),
    FOREIGN KEY (creator_id) REFERENCES users (username)
)TYPE=INNODB;


Først opretter vi en kategori. Så opretter vi nogle forum som skal lægges i en kategori.
Så opretter vi nogle topics som skal lægges i et forum og nogle replys som skal lægges i et topic.

Nu skal vi så bruge en sql sætning som kan fortælles os hvor mange replys der er i 1 forum.
Eneste vi har som variable er forum.id.

vi ved bare ikke hvordan dette sql join skal se ud.. please help
Avatar billede arne_v Ekspert
10. januar 2004 - 21:58 #1
SELECT COUNT(*)
FROM (forum JOIN topic ON forum.id=topic.forum_id) JOIN reply ON topic.id=reply.topic_id
WHERE forum.id=X

vil jeg tro !
Avatar billede tripwire Nybegynder
10. januar 2004 - 23:25 #2
Endnu engang beviser du dit værd arne... hvis du bare lægger et svar, så...

TAK for hjælpen.. we needed it
Avatar billede arne_v Ekspert
10. januar 2004 - 23:26 #3
svar
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Computerworld tilbyder specialiserede kurser i database-management

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester