首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何从两个不同的表中选择记录

如何从两个不同的表中选择记录
EN

Stack Overflow用户
提问于 2016-04-13 03:27:21
回答 2查看 43关注 0票数 0

我有两张桌子

代码语言:javascript
复制
+----------------------------+
| task                       |
+----------------------------+
| id | t_title | t_assign_to |
+----------------------------+
代码语言:javascript
复制
+-----------------------------+
| task_employee               |
+-----------------------------+
| id | emp_name | emp_underon |
+-----------------------------+

我的问题是,我想从带有外键( t_assign_to )的task_employee表中有emp_underon = '2‘的任务表中提取task_employee

代码语言:javascript
复制
<?php                
  $sql = mysql_query("SELECT * FROM task");/// i got all value from here

  $sql=mysql_query("SELECT * FROM task_employee WHERE emp_underon ='2'");// i got all value from here

  //$sql=mysql_query("SELECT * FROM task UNION SELECT * FROM task_employee WHERE emp_underon='2'");
  $count = mysql_num_rows($sql);
  while($row=mysql_fetch_assoc($sql))
  {
    echo $row['t_assign_to'];
  }
?>
EN

回答 2

Stack Overflow用户

发布于 2016-04-13 03:40:32

我认为t_assign_to是task_employee的外键,所以我把它们连接在一起

方案1

代码语言:javascript
复制
$sql = "SELECT * FROM task t INNER JOIN task_employee te ON t.t_assign_to = te.id";

方案2

代码语言:javascript
复制
$sql = "SELECT * FROM task t,task_employee te WHERE t.t_assign_to = te.id";

如果表中的字段名与其他表中的其他字段相同,只需更改字段名如下:

代码语言:javascript
复制
$sql = "SELECT table.field as new_field_name FROM task t,task_employee te WHERE t.t_assign_to = te.id";

对你来说很方便

代码语言:javascript
复制
$sql = "SELECT * FROM task t INNER JOIN task_employee te ON t.t_assign_to = te.id WHERE te.emp_underon = '2' "
$q = mysql_query($sql);
$c = mysql_num_rows($q);
if($c > 0)
{
  while($r = mysql_fetch_assoc($q))
  {
    echo $r['t_assign_to'];
  }
}
票数 0
EN

Stack Overflow用户

发布于 2016-04-13 03:41:28

我希望您能够通过这个查询获得您的答案,尽管我没有测试这个SQL。

代码语言:javascript
复制
select task.t_title, task.t_assign_to, task_employee.id as emp_id, task_employee.emp_name from task inner join task_employee on task.t_assign_to = task_employee.emp_underon where  task_employee.emp_underon = 2
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/36588002

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档