2016-05-31 6 views
1

こんにちは私は内部結合を使って1つの質問を出し、dbから4つの回答を得ます。私はこのようにそれを作ってみるlangがenのデータベースから選択する内部結合クエリ

$mysql->query("SELECT Q.id AS id, Q.question, QA.answer1, QA.answer2, 
         QA.answer3, QA.answer4, QA.correct, QC.name AS cat_name 
       FROM question Q 
        INNER JOIN question_answers QA ON QA.questionFK=Q.id 
        INNER JOIN question_cats QC ON QC.id=Q.categoryFK 
       ORDER BY rand() 
       LIMIT 1"); 

$mysql->query("SELECT Q.id AS id, Q.question, QA.answer1, QA.answer2, 
         QA.answer3, QA.answer4, QA.correct, QC.name AS cat_name 
       FROM question Q 
        INNER JOIN question_answers QA ON QA.questionFK=Q.id 
        INNER JOIN question_cats QC ON QC.id=Q.categoryFK 
       WHERE Q.lang='en' 
       ORDER BY rand() 
       LIMIT 1"); 

しかし、それはdidnの私は、これは、クエリで LANGテーブルが「エン」であることだけ質問を取るために、このクエリを作りたいです私は間違っているのですが、どうすればいいですか?あなたのファイラー条件WHERE Q.lang='en'は、任意の記録とその結果と一致していないようにそれは感じている私に

CREATE TABLE IF NOT EXISTS `question` (
    `id` int(10) NOT NULL AUTO_INCREMENT, 
    `question` varchar(255) NOT NULL, 
    `cnt` int(10) NOT NULL DEFAULT '0', 
    `correct` int(10) NOT NULL DEFAULT '0', 
    `categoryFK` int(3) NOT NULL DEFAULT '0', 
    `from_userFK` int(10) NOT NULL DEFAULT '0', 
    `correct_points` int(10) DEFAULT NULL, 
    `ut` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, 
    `del` enum('yes','no') NOT NULL DEFAULT 'no', 
    `lang` varchar(32) NOT NULL, 
    PRIMARY KEY (`id`) 
) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=26 ; 

CREATE TABLE IF NOT EXISTS `question_answers` (
    `id` int(10) NOT NULL AUTO_INCREMENT, 
    `questionFK` int(10) NOT NULL, 
    `answer1` varchar(255) CHARACTER SET cp1251 NOT NULL, 
    `answer2` varchar(255) CHARACTER SET cp1251 NOT NULL, 
    `answer3` varchar(255) CHARACTER SET cp1251 NOT NULL, 
    `answer4` varchar(255) CHARACTER SET cp1251 NOT NULL, 
    `correct` int(1) NOT NULL, 
    `ut` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, 
    `del` enum('yes','no') CHARACTER SET cp1251 NOT NULL DEFAULT 'no', 
    PRIMARY KEY (`id`) 
) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=25 ; 
+1

テーブルの説明を含めることはできますか? – dimlucas

+0

申し訳ありませんが、正確に何が必要ですか? –

+0

テーブルの構造。 'DESCRIBE question_answers'のような' DESCRIBE'クエリの出力が好ましいでしょう。 – dimlucas

答えて

0

これらは2つのテーブルです。比較する前にトリミングすることを検討してください

  WHERE TRIM(Q.lang) ='en' 
+0

これはうまくいきません...今ではデータベースに2つの質問があります。もう1つはlang 'en'です。もう1つはlang 'bg'です.Langで質問のみを表示する必要がありますが、両方とも表示されます.... –

+0

Canあなたは 'question'テーブルからいくつかのサンプルデータを投稿しますか? – Rahul

+0

私はそれを修正....... –

関連する問題