mySQL从多个外键返回字段名称

时间:2013-09-07 01:03:51

标签: php mysql select

我是mySQL的新手,希望得到一些帮助。我有一张桌子以下列方式摆放:

TASK
task_id *
tasktype_id (FK)
proj_id (FK)
empl_id (FK)
taskstat_id (FK)
hrs
notes

如果我执行这样的查询,结果会打印出来,但会打印出对外键的数字引用。

SELECT * AS task FROM task
INNER JOIN tasktype ON tasktype.tasktype_id = task.tasktype_id
WHERE taskstat_id = 1";

但是我想在结果表中打印字段名而不是外键的字段号。有任何想法吗?这就是我尝试过的,但没有任何运气。

SELECT task.task_id,
       tasktype.tasktype_id,
       project.proj_id,
       employee.empl_id,
       taskstatus.taskstat_id,
       task.hrs,
       task.note
FROM task, tasktype, project, employee, taskstatus                      
INNER JOIN tasktype ON tasktype.tasktype_id = task.tasktype_id
WHERE task.taskstat_id = 1";

1 个答案:

答案 0 :(得分:0)

好吧,假设相关表(列名)中的“字段名称”被称为...名称(我不知道您所连接表格的结构)

select t.task_id,
       tt.name, //or tt.description, or whatever
       p.name, //same
       e.name, //same
       ts.name, //same 
       t.hrs,
       t.note
FROM task t
inner join tasktype tt on tt.tasktype_id = t.tasktype_id
inner join project p on p.proj_id = t.proj_id
inner join employee e on e.empl_id = t.empl_id
inner join taskstatus ts on ts.taskstat_id = t.taskstat_id
where t.taskstat_id = 1