使用sql查询从两个表中选择数据
我有两张桌子 课程(ID日期描述持续时间\u ID促销\u ID) 第二桌 海军少尉(E_Id Meatier_Id Promotion_Id) 梗死我有一个id基于该id我必须从Ensign中选择数据,其中id=Eng_id,然后我需要从课程中选择数据,其中表课程中的Meatier_id和Promotion_id等于Meatier_id,Promotion_id等于前面查询中选择的数据 我可以用一个S q l查询吗谢谢 溴使用sql查询从两个表中选择数据,sql,database,sql-server-2008,Sql,Database,Sql Server 2008,我有两张桌子 课程(ID日期描述持续时间\u ID促销\u ID) 第二桌 海军少尉(E_Id Meatier_Id Promotion_Id) 梗死我有一个id基于该id我必须从Ensign中选择数据,其中id=Eng_id,然后我需要从课程中选择数据,其中表课程中的Meatier_id和Promotion_id等于Meatier_id,Promotion_id等于前面查询中选择的数据 我可以用一个S q l查询吗谢谢 溴 莎拉你的问题有点含糊不清,但我试了一下 --These two var
莎拉你的问题有点含糊不清,但我试了一下
--These two variables take the place for your 'Earlier Query' values
DECLARE @Meatier_ID INT = 100,
@Promotion_Id INT = 15
--The query
SELECT *
FROM Course AS C
INNER JOIN Ensign AS E ON C.ID = E.E_Id
WHERE C.Meatier_ID = @Meatier_ID
AND C.Promotion_Id = @Promotion_Id
在Meater_ID和Promotion_ID上将这两个表连接在一起。然后选择Eng_ID是您正在使用的ID的行
SELECT *
FROM Course c
INNER JOIN Ensign e
ON e.Meatier_ID = c.Meatier_ID
AND e.Promotion_ID = c.Promotion_ID
WHERE e.Eng_Id = <id value here>
选择*
来自课程c
内联旗
关于e.Meatier_ID=c.Meatier_ID
e.Promotion\u ID=c.Promotion\u ID
其中e.Eng_Id=
编辑:
以上内容适用于SQL Server。对于derby,请尝试:
SELECT *
FROM Course
INNER JOIN Ensign
ON Ensign.Meatier_ID = Course.Meatier_ID
AND Ensign.Promotion_ID = Course.Promotion_ID
WHERE Ensign.Eng_Id = <id value here>
选择*
当然
内联旗
在Ensign.Meatier_ID=Course.Meatier_ID上
和Ensign.Promotion\u ID=Course.Promotion\u ID
其中Ensign.Eng_Id=
选择e.e\u Id、e.Meatier\u Id、e.Promotion\u Id、c.Id、c.日期、c.描述、,c.从Ensign as e INERNAR join课程的持续时间为c,其中e.Meatier_Id=c.Meatier_Id和e.Promotion_Id=c.Promotion_Id和e.e_Id=@Eng_Id我正在尝试加入表格,但它不允许我在加入表格后自动完成。事实上,在内部加入之后,它不允许我完成实体的名称,因此我猜它不起作用。你怎么办建议你在什么环境下工作?SqlServerManagementStudio?你能毫无问题地完成“从课程中选择”和“从Ensign中选择”吗?是的,事实上我使用的是derby内置数据库,我可以很好地从这两个表中分别选择,而且我不能测试我的命令,因为这些是在hibernate中编写的命令,所以我必须依靠auto complete来验证该命令是否有效事实上,匹配参数是我在函数中接收到的变量。因此,基于此,我必须从Engsine中选择数据,其中Eng_Id=变量Id,然后根据该记录集,我必须从Cours c中选择数据,其中c.matiere.Id和c.promotion.Id必须等于先前记录集中选择的Id…如果清除,我很抱歉