我对这个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`
感谢任何帮助。谢谢!
答案 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`
请在表格中使用别名。