0

我是 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";
4

1 回答 1

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
于 2013-09-07T01:10:49.327 回答