INNER JOIN SQL QUERY

时间:2015-04-15 15:55:38

标签: php mysql sql-server join

我对这个INNER JOIN查询有一个简单的问题... 我有一个名为BCC的数据库。我有2个表,问题和主题。 在问题表中,它包括课程和猫(类别)和问题。 在主题表中,只有ID和主题(与类别相同但字段名称不同)。

基本上,我在问题数据库中提取所有问题,但我希望它们按照课程和猫/科目进行安排。我有这种功能的手风琴风格。下面的链接是此查询的显示输出的屏幕截图

SELECT `question` FROM question WHERE `course`=$course AND `cat`=$cat;

但我寻找INNER JOIN查询,我甚至不知道哪个部分出错或者我忘记了一些代码来执行查询。我想我太乱了,这就是为什么我感到困惑。这是SQL查询。

SELECT `question` FROM question WHERE `course`=$course AND `cat`=$cat INNER JOIN `subject` ON `subject` WHERE `subject`=`cat`

感谢任何帮助。谢谢!

2 个答案:

答案 0 :(得分:0)

我昨晚在我的问题上找到了一个答案,它确实有效:))

<?php  
    $subject = $subjectRows['subject']; // subject.subject (MATH, ENGLISH, etc)
    $con=mysqli_connect("localhost","root","","bcc");

       if (mysqli_connect_errno()) 
       { 
         echo "Failed to connect to MySQL: " . mysqli_connect_error(); 
       }

       $questionResult = mysqli_query($con,"SELECT * FROM question WHERE `cat` = '" . $subject . "' AND `course` = '". $_SESSION['SESS_COURSE'] ."' ");

      while($questionRows = mysqli_fetch_array($questionResult, MYSQL_BOTH)) 
      {  
      echo $questionRows['question'].'?<br>';
      $qid = $questionRows['qid'];
      echo '<input type="hidden" name="qqqq[]" value="'.$qid.'" />';
      echo '<select name="answer[]">';
      echo '<option>Select Answer></option>';
      $resultik = mysql_query("SELECT * FROM choices WHERE question='$qid' ORDER BY RAND() LIMIT 3");
      while($rowik = mysql_fetch_array($resultik))
      {
        echo '<option>';
        echo $rowik['opt'];
        echo '</option>';
      }
      echo '</select><br><br>';
    } 
      mysqli_free_result($questionResult);     
?>

我没有在查询中使用INNER JOIN,而是执行另一个查询并使用变量。

答案 1 :(得分:-1)

您必须在某些匹配条件下使用ON。 您的查询应该是这样的:

SELECT column_list
FROM t1
INNER JOIN t2 ON join_condition1

select 
    `question` 
FROM question
INNER JOIN `subject` ON --- keep join condition
WHERE `course`=$course AND `cat`=$cat and `subject`=`cat`

请在表格中使用别名