Avatar billede milo Nybegynder
11. december 2006 - 11:59 Der er 1 kommentar og
1 løsning

sql sub select hjælp

Hej,

Er netop vendt tilbage til noget kode jeg lavede for over et år siden. Det har virket, men vil tro at der isden da er installeret en ny mysql version på serveren.
Det er noget rodet sub select bøvl som jeg fik lidt hjælp til i sin tid og derfor ikke helt lige kan gennemskue hvor det går galt:

SELECT
        part1.*, (
    SELECT
        COUNT(a.question_id)
    FROM
        bg_participants AS p
    LEFT JOIN
        bg_answers AS a
    ON
        p.participant_id = a.participant_id
    AND
        part1.participant_id = p.participant_id
    LEFT JOIN
        bg_questions AS q
    ON
        a.question_id = q.question_id
    AND
        a.answer = q.question_correct_answer
    WHERE
        q.question_quarter = ".intval($_GET["q"])."
    GROUP BY
        p.participant_id) AS answerNum FROM bg_participants AS part1 WHERE participant_subscribe = 1
    ")or die(mysql_error());


Får følgende fejl: Unknown column 'part1.participant_id' in 'on clause'

------------------

SQL struktur (phpMyAdmin dump):

CREATE TABLE `bg_participants` (
  `participant_id` int(10) NOT NULL auto_increment,
  `participant_name` varchar(100) collate latin1_danish_ci NOT NULL default '',
  `participant_address` varchar(100) collate latin1_danish_ci NOT NULL default '',
  `participant_zipcode` int(4) NOT NULL default '0',
  `participant_city` varchar(100) collate latin1_danish_ci NOT NULL default '',
  `participant_email` varchar(100) collate latin1_danish_ci NOT NULL default '',
  `participant_subscribe` int(1) NOT NULL default '0',
  PRIMARY KEY  (`participant_id`)
) ENGINE=MyISAM  DEFAULT CHARSET=latin1 COLLATE=latin1_danish_ci AUTO_INCREMENT=3 ;


CREATE TABLE `bg_answers` (
  `participant_id` int(10) NOT NULL default '0',
  `question_id` int(5) NOT NULL default '0',
  `answer` int(1) NOT NULL default '0',
  UNIQUE KEY `participant_id` (`participant_id`,`question_id`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_danish_ci;



Håber der er en der kan gennemskue det :)
Avatar billede mbagge Nybegynder
13. december 2006 - 09:26 #1
Hvad er det du gerne vil have et udtræk af?
Umiddelbart forstår jeg ikke helt din sql, da da de to tabeller i bund og grund er simple.
Men det lader da også til at 'question_quarter' mangler i phpMyAdmin dump'et.
Er der flere tabeller der skal med end de to du har dumpet?
Avatar billede milo Nybegynder
16. oktober 2007 - 15:58 #2
Lukker
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