作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
大家好,我的 mySQL 查询有问题。请查看我的表格和当前查询。
表“教师”
---------------------------------------------
id |firstname | lastname | subject_id|
---------------------------------------------
1 Juan Dela Cruz 1
2 Antonio Brigada 2
--------------------------------------------
表格“科目”
---------------
id | name |
---------------
1 English
2 Math
3 Science
--------------
我当前的查询
public function instructor(){
global $database;
$sql = "SELECT instructors.firstname as firstname, instructors.lastname as lastname ";
$sql .= "FROM subjects ";
$sql .= "JOIN instructors ";
$sql .= "WHERE subjects.id = instructors.subject_id";
$result = $database->query($sql);
while($instructor = $database->fetch_array($result)){
if (isset($instructor['firstname']) && isset($instructor['lastname'])){
return $instructor['lastname'] . " " . $instructor['firstname'];
} else {
return "N/A";
}
}
}
结果:
English Juan Dela Cruz
Math Juan Dela Cruz
Science Juan Dela Cruz
编辑
当前的sql:
public function instructor(){
global $database;
$sql = "SELECT a.name, ";
$sql .= "COALESCE(CONCAT(b.firstname, ' ',b.lastname), 'N/A') as ins_name ";
$sql .= "FROM subjects a ";
$sql .= "LEFT JOIN instructors b ";
$sql .= "ON a.id = b.subject_id";
$result = $database->query($sql);
while($instructor = $database->fetch_array($result)){
return $instructor['ins_name'];
}
}
结果
English Juan Dela Cruz
Math Juan Dela Cruz
Science Juan Dela Cruz
它应该是什么:
English Juan Dela Cruz
Math Antonio Brigada
Science N/A
调用 instructor() 函数
<?php foreach($subjects as $subject): ;?>
<tr class="subject_list">
<td><?php echo $subject->name; ?></td> // This will show all subjects
<td><?php echo $subject->instructor(); ?></td> // This will show instructor foreach subjects
</tr>
<?php endforeach; ?>
希望大家帮我看看上面的结果
最佳答案
LEFT JOIN
是您所需要的
SELECT a.name,
COALESCE(CONCAT(b.firstName, ' ',b.LastName), 'N/A')
FROM subjects a
LEFT JOIN instructors b
ON a.ID = b.Subject_ID
关于php - 通过 subject_id 获取讲师姓名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13339634/
我用谷歌搜索、阅读了文档并观看了 railscast,但我无法理解这一点。请帮忙。我在 Ubuntu 13.04 上运行最新的稳定版 Rails 和 Ruby 1.9.3。 我有一个User 模型和一
我是一名优秀的程序员,十分优秀!