Avatar billede ldrada Nybegynder
17. december 2004 - 17:59 Der er 2 kommentarer og
1 løsning

SELECT data fra tabel, hvor en anden tabel er involveret?

Jeg kunne ikke lige få formuleret mit spørgsmål helt rigtigt, men here goes.

Jeg er i gang med at udbygge et artikelsystem, hvor moderatorer skal have muligheden for at "slette" - altså usynliggøre artikler. Alting virker fint, bortset fra artikeloversigten, hvor den vælger alle artikler der møder alle krav, undtagen om de er lukkede eller ej.
Problemet er, at jeg har to tabeller til artikeldata. Disse er: article og article_text
"article" indeholder kun numeriske data om artikler, mens article_text indeholder den indholdsmæssige data.

Når jeg selecter data til oversigten, foregår det således:
SELECT `art_txt_id`, `art_txt_ref_id`, `art_txt_title`, `art_txt_des`, `art_txt_score` FROM `article_text` ORDER BY `art_txt_date` DESC, `art_txt_time` DESC LIMIT 15
Hvilket så udvælger de 15 seneste artikler fra databasen.
Jeg skal have den til kun at selecte de artikler, hvor deres art_open er sat til 1 i "article" tabellen.

Håber at jeg har givet detaljer nok.

På forhånd tak :)
Avatar billede ldrada Nybegynder
17. december 2004 - 18:41 #1
Jeg har lige forsøgt mig med:
            SELECT  article_text.art_txt_id,
                    article_text.art_txt_ref_id,
                    article_text.art_txt_title,
                    article_text.art_txt_des,
                    article_text.art_txt_score
            FROM `article_text` RIGHT JOIN `article`
            ON article_text.art_txt_ref_id = article.art_id
            WHERE article_text.art_txt_cat = {$intID} AND
            article.art_open = 1
            ORDER BY article_text.art_txt_date DESC,
                    article_text.art_txt_time DESC LIMIT 15
Hvilket ikke virker.
Avatar billede ldrada Nybegynder
17. december 2004 - 18:41 #2
Selvfølgelig også med en "LEFT JOIN"
Avatar billede ldrada Nybegynder
17. december 2004 - 19:21 #3
Problem løst.

                SELECT  article_text.art_txt_id,
                        article_text.art_txt_ref_id,
                        article_text.art_txt_title,
                        article_text.art_txt_des,
                        article_text.art_txt_score
                FROM `article_text` LEFT JOIN `article`
                ON article_text.art_txt_ref_id = article.art_id
                WHERE article.art_open != 0
                ORDER BY article_text.art_txt_date DESC,
                        article_text.art_txt_time DESC LIMIT 15
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