我想使用第二个SELECT
获取一些ID,然后在第二个SELECT
中使用该ID,但我不知道如何操作。
SELECT Employee.Name
FROM Emplyee, Employment
WHERE x = Employment.DistributionID
(SELECT Distribution.DistributionID FROM Distribution
WHERE Distribution.Location = 'California') AS x
这篇文章有点长,但下面是一个简短的“提示”
虽然我的select语法不好,但逻辑是正确的。我需要那个“x”。因此,第二个select
是最重要的。接着,我必须在第一个select
中使用那个“x”。我只是不知道如何做到。
/提示
这就是我唯一能想到的了,我在Sql方面很新,我想在练习之前先读一本书,但既然已经开始了,我想完成我的小程序。
编辑:
好吧,我查了一下连接,还是不懂。
SELECT Employee.Name
FROM Emplyee, Employment
WHERE x = Employment.DistributionID
LEFT JOIN Distribution ON
(SELECT Distribution.DistributionID FROM Distribution
WHERE Distribution.Location = 'California') AS x
在AS
和Left
处收到错误消息。
我使用名称从上面的红色表格中查找ID,然后我使用上面红色表格中找到的ID在下面的表格中进行匹配。然后我将找到的ID与绿色表格中的匹配。我使用绿色表格中的ID查找相应的名称。
我从C#输出数据中得到California
。我想使用California
来查找DistributionID。我使用DistributionID来查找EmployeeID。我使用EmployeeID来查找名称。
我的逻辑:
Parameter: Distribution.Name (from C#)
Find DistributionID that has Distribution.Name
Look in Employment WHERE given DistributionID
reveals Employees that I am looking for (BY ID)
Use that ID to find Name
return Name
表格:
注:在这个示例图片中,由于选择的原因,员工重复出现,实际上他们是单数
在“Locatie”(中间表格)中是位置,我从C#中获取位置(再次),我以California
为例。首先我需要找到ID!
抱歉,它们不是用英语写的,但是这里是创建表的内容: