加入重复行太多次

Join repeats rows too many times

列出在零售或餐饮业工作的员工(名字和姓氏在同一列)。包括他们工作的建筑物和店铺类型。

这就是我的。每当我 运行 时,一切都会重复,所以现在有一百多行。有人可以帮助我吗?

编辑

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 returns a Shop Type and Building Name as NULL and内部联接和仅联接 return 列的名称。其他一切都只是 returns 为 NULL。有什么办法可以帮助我解决问题吗?

对于所需的输出,您必须使用 JOIN 语法。

标准示例

SELECT column_name(s)
FROM table1
INNER JOIN table2
ON table1.column_name = table2.column_name
INNER JOIN table3
on table2.column_name2 = table3.column_name2;

尝试按上面的方式连接你的表,你会得到输出。

内部联接必须用于连接数据的列。 例如:

SELECT 
    CONCAT(first_name, '  ', last_name) AS Employee,
    shop_type AS "Shop Type", Building_Assigned AS "Building Name"
FROM employees e
    Shops s on e.Location=s.ShopID
    buildings b on b.BuildingID=s.BuildingID

您必须能够连接表格。