Rewrite SQL statement from USING to ON
Hey guys. Having trouble here. Have to webhotels with same MySQL and PHPmyadmin versions, but reacts different. Mayb something with the MySQL.ini.
How can I rewrite this into ON, from Using.
SELECT wiederquist_elearn_question.idelearn_question AS idelearn_question, idelearn_answer, idelearn_user, name, email, address, zip, city, phone, extra, user_created_time, newsletter, answertime, title, description, illustration, answertext, correct
FROM wiederquist_elearn_user
INNER JOIN wiederquist_elearn_question_answered
USING ( idelearn_user )
INNER JOIN wiederquist_elearn_question
USING ( idelearn_question )
INNER JOIN wiederquist_elearn_answer
USING ( idelearn_answer )
WHERE name IS NOT NULL
AND idelearn =1
Hope you can help me here.Thank you.
Edit:
Now I got this, but it shows 11.700 results, and it should only show 2. But it is the right results, their just looping.
SELECT wiederquist_elearn_question.idelearn_question AS idelearn_question, name, email, address, zip, city, phone, extra, user_created_time, newsletter, answertime, title, description, illustration, answertext, correct
FROM wiederquist_elearn_user
INNER JOIN wiederquist_elearn_question_answered ON wiederquist_elearn_question_answered.idelearn_user
INNER JOIN wiederquist_elearn_question ON wiederquist_elearn_question.idelearn_question
INNER JOIN wiederquist_elearn_answer ON wiederquist_elearn_answer.idelearn_answer
WHERE name IS NOT NULL
AND idelearn =1
DB Tables:
CREATE TABLE `wiederquist_elearn` (
`ideLearn` int(11) unsigned NOT NULL auto_increment COMMENT 'id',
`name` varchar(250) default 'uden navn' COMMENT '''Kursus nav',
`correctRequired` int(1) default '0' COMMENT '''Korrekt svar påkrævet for at fortsætt',
`successNumber` int(11) default '0' COMMENT '''Antal korrekte svar krævet for "bestået',
`displayMode` varchar(45) default 'single' COMMENT '''Ved systemets opstart, enkeltvisning eller listevisnin',
`repeatable` int(1) default '0' COMMENT 'Kan kurset gentages',
`learning` int(1) default '0',
`mandatory` int(1) default '0',
`errorMessage` text,
PRIMARY KEY (`ideLearn`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=2 ;
CREATE TABLE `wiederquist_elearn_answer` (
`idelearn_answer` int(10) unsigned NOT NULL auto_increment,
`answertext` text,
`correct` int(1) default NULL,
`idelearn_question` int(10) unsigned default NULL,
`order` int(10) unsigned default NULL,
`correctText` text,
PRIMARY KEY (`idelearn_answer`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=5 ;
CREATE TABLE `wiederquist_elearn_question` (
`idelearn_question` int(10) unsigned NOT NULL auto_increment,
`title` text,
`description` text,
`idelearn` int(10) unsigned default NULL,
`illustration` varchar(150) default 'dummy.jpg',
PRIMARY KEY (`idelearn_question`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=3 ;
CREATE TABLE `wiederquist_elearn_question_answered` (
`idelearn_question_answered` int(10) unsigned NOT NULL auto_increment,
`idelearn_user` int(10) unsigned default NULL,
`idelearn_question` int(10) unsigned default NULL,
`idelearn_answer` int(1开发者_C百科0) unsigned default NULL,
`answertime` timestamp NULL default CURRENT_TIMESTAMP,
PRIMARY KEY (`idelearn_question_answered`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=3 ;
CREATE TABLE `wiederquist_elearn_user` (
`idelearn_user` int(10) unsigned NOT NULL auto_increment,
`name` varchar(250) default NULL,
`email` varchar(250) default NULL,
`address` varchar(200) default NULL,
`zip` int(4) default NULL,
`city` varchar(90) default NULL,
`phone` varchar(45) default NULL,
`extra` varchar(250) default NULL,
`user_created_time` timestamp NULL default CURRENT_TIMESTAMP,
`newsletter` int(1) default NULL,
PRIMARY KEY (`idelearn_user`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=3 ;
I did it! yay
SELECT wiederquist_elearn_question.idelearn_question AS idelearn_question, wiederquist_elearn_answer.idelearn_answer, wiederquist_elearn_user.idelearn_user, name, email, address, zip, city, phone, extra, user_created_time, newsletter, answertime, title, description, illustration, answertext, correct
FROM wiederquist_elearn_user
INNER JOIN wiederquist_elearn_question_answered
USING ( idelearn_user )
INNER JOIN wiederquist_elearn_question
USING ( idelearn_question )
INNER JOIN wiederquist_elearn_answer ON wiederquist_elearn_answer.idelearn_answer = wiederquist_elearn_question_answered.idelearn_answer
WHERE name IS NOT NULL and idelearn = 1
Thanks guys
You should use INNER JOIN jointablename ON jointablename.join_id = tablename.id, for this case query will looks like:
SELECT weq.idelearn_question AS idelearn_question, idelearn_answer, weu.idelearn_user
as idelearn_uder, name, email, address, zip, city, phone, extra, user_created_time,
newsletter, answertime, title, description, illustration, answertext, correct
FROM wiederquist_elearn_user AS weu
INNER JOIN wiederquist_elearn_question_answered AS weqa
ON weu.idelearn_user = weu.idelearn_user
INNER JOIN wiederquist_elearn_question AS weq
ON weq.idelearn_question = (table your need to join).idelearn_question
and so on..
精彩评论