我有以下两个表:
projects_expended:
+---------------+------------+----------+
| project_name | project_id | Utilised |
+---------------+------------+----------+
| CStreamTax | 1 | 3500 |
| CStreamTravel | 2 | 149 |
+---------------+------------+----------+
项目:
+------------+---------------------+
| project_id | project_budgetstart |
+------------+---------------------+
| 1 | 15000 |
| 2 | 15000 |
| 3 | 500 |
+------------+---------------------+
我想制作两者的联合表,但是与Utilized一起使用
当project_id形成项目表时,字段填充NULL
不匹配projects_expended表中的一个条目。
我的基本尝试如下:
SELECT projects.*, projects_expended.utilised
FROM projects_expended
JOIN projects
ON projects.project_id = projects_expended.project_id;
结果:
+------------+---------------------+----------+
| project_id | project_budgetstart | utilised |
+------------+---------------------+----------+
| 1 | 15000 | 3500 |
| 2 | 15000 | 149 |
+------------+---------------------+----------+
我理解为什么我得到的结果。但是我很沮丧。 我做了其他尝试(太多无法计算)。
答案 0 :(得分:0)
使用左外连接:
SELECT projects.*, projects_expended.utilised
FROM projects
LEFT OUTER JOIN projects_expended
ON projects.project_id = projects_expended.project_id;
答案 1 :(得分:0)
我找到了答案:
LEFT JOIN vs. LEFT OUTER JOIN in SQL Server
非常有用。
解决方案:
SELECT projects.*, projects_expended.utilised
FROM projects_expended
RIGHT JOIN projects
ON projects.project_id = projects_expended.project_id;