Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/83.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用sql查询从两个表中选择数据_Sql_Database_Sql Server 2008 - Fatal编程技术网

使用sql查询从两个表中选择数据

使用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

我有两张桌子

课程(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 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…如果清除,我很抱歉