如何为这种情况构建sql查询?

如何为这种情况构建sql查询?,sql,sql-server-2012,Sql,Sql Server 2012,我有一个表格,可以提供项目信息。我还有另一个表,我在其中添加注释或更新人们在项目上的日志。这些表在项目编号上联接。我将为项目返回一行,为注释返回多行。最好的方法是什么?我想如果我能做到以下几点,那就太好了: +-----------------+---------------------+-------------+----------+--+ | project_Name | Project_description | Start_date | Comments | | +-----

我有一个表格,可以提供项目信息。我还有另一个表,我在其中添加注释或更新人们在项目上的日志。这些表在项目编号上联接。我将为项目返回一行,为注释返回多行。最好的方法是什么?我想如果我能做到以下几点,那就太好了:

+-----------------+---------------------+-------------+----------+--+
|  project_Name   | Project_description | Start_date  | Comments |  |
+-----------------+---------------------+-------------+----------+--+
| TestProjectName | TestProjectDesc     | 01/01/2016  | Comment1 |  |
| Null            | Null                | Null        | Comment2 |  |
| Null            | Null                | Null        | Comment3 |  |
+-----------------+---------------------+-------------+----------+--+

关于如何通过查询生成此项的任何想法或建议?

您可以使用
Union all
运算符,然后按项目编号排序。SQL查询看起来像这样

SELECT  project_Name, Project_description, Start_date, Comments, Project_Number from Projects
UNION ALL
Select Null, Null, Null, Comment, Project_Number From Comments
Order By Project_Number

我不知道这些表的名称,因此无法很好地创建整个语句

是否有任何原因正常的
从project p中选择*join project_comments pc on p.id=pc.project_id
无法工作?最好从这里开始:
执行此操作的最佳方法是什么?
执行此操作的最佳方法是在sql server之外,在表示层中。这并不是说在sql中做不到,甚至很容易,但表示层中的这种逻辑将胜过任何基于sql的解决方案,这是放置它的合理位置。谢谢!就是这样。它现在正按照我的需要建造。没问题,我很乐意帮忙。你能把这个答案标记为接受吗?我希望有更多的声誉,这样我就可以评论别人的答案@间隔机器人