【发布时间】:2020-07-26 19:17:09
【问题描述】:
列出从事零售业或餐饮业的员工(姓名在同一列中)。包括他们工作的建筑和商店类型。
这就是我所拥有的。每当我运行它时,一切都会重复,所以现在有一百多行。有人可以帮帮我吗?
编辑
SELECT CONCAT(first_name, ' ',last_name) AS "Employee", shop_type AS "Shop Type", Building_Assigned AS "Building Name"
FROM employees
FULL OUTER JOIN Shops
ON employees.first_name = Shops.shop_type
FULL OUTER JOIN buildings
ON employees.last_name = buildings.Building_Assigned
WHERE Shops.shop_type is NOT NULL OR employees.first_name IS NOT NULL OR employees.last_name IS NOT NULL OR buildings.Building_Assigned IS NOT NULL
我已经为此尝试了各种连接以使其工作并给我想要的输出,但是每当我这样做时,例如,FULL OUTER Join 将 Shop Type 和 Building Name 返回为 NULL,Inner Join 和 Join 仅返回列的名称。其他所有内容都返回为 NULL。有没有人可以帮助我解决问题?
【问题讨论】:
-
从不在
FROM子句中使用逗号。 始终使用正确、明确、标准、可读的JOIN语法。 -
关于avoiding old-style join syntax的更完整的解释
标签: sql sql-server ssms