如何从select查询返回数据中删除双列表

时间:2012-07-16 20:58:05

标签: sql sql-server

我有两张桌子:

Tasks[id_task,task_title,author,id_project]
SubTasks[id_subtask,subtask_title,author,id_task]

我使用此查询返回数据:

Select PS.task_title as subtask_category, PS.id_task, PS.id_project, P.* 
  From SubTasks P inner join Tasks PS 
    on P.id_task=PS.id_task 
 where PS.id_project = 1  
 order by PS.id_task desc

问题是结果表包含重复的id_task列,我该如何解决?

2 个答案:

答案 0 :(得分:0)

如果您知道SubTasks表总是会有id_task(由于连接而执行),请从select中删除PS.id_task,这样它才会被P.*

答案 1 :(得分:0)

将您的SELECT条款更改为SELECT PS.id_task, PS.task_title, PS.author, PS.id_project, P.id_subtask, P.subtask_title, P.author,然后取消P.id_task。当你已经告诉先前的查询在Tasks表中返回PS.id_task时,你的P.*告诉查询返回SubTasks表中的所有列。