Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/24.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 server 如何在MS SQL Server中获取3个表的内部联接_Sql Server - Fatal编程技术网

Sql server 如何在MS SQL Server中获取3个表的内部联接

Sql server 如何在MS SQL Server中获取3个表的内部联接,sql-server,Sql Server,从专家表中,从物种表中检索为企鹅提供护理的人员的名字、姓氏和联系电话 共有3张表格:tbl_专家、tbl_物种、tbl_护理 我需要帮助尝试内部连接表以显示企鹅的第一、最后和联系人 SELECT specialist_fname, specialist_lname, specialist_contact FROM ((tbl_specialist INNER JOIN tbl_species ON species_care = tbl_species.species_care) INNER JO

从专家表中,从物种表中检索为企鹅提供护理的人员的名字、姓氏和联系电话

共有3张表格:tbl_专家、tbl_物种、tbl_护理

我需要帮助尝试内部连接表以显示企鹅的第一、最后和联系人

SELECT specialist_fname, specialist_lname, specialist_contact
FROM ((tbl_specialist
INNER JOIN tbl_species ON species_care = tbl_species.species_care)
INNER JOIN tbl_care ON care_id = tbl_care.care_id)
WHERE species_name = 'penguin'
;

如果看不到表的确切模式,这有点困难,但是子查询的语法有点不正确,需要对
JOIN
station中多个表中的列进行别名。尝试如下方式重写SQL:

SELECT spl.specialist_fname, spl.specialist_lname, spl.specialist_contact
FROM tbl_specialist spl
INNER JOIN tbl_species s
    ON spl.species_care = s.species_care
INNER JOIN tbl_care c
    ON s.care_id = c.care_id
WHERE s.species_name = 'penguin'

很明显,我在推断某些列来自联接中的哪些表,但希望您能理解。

我找到了答案,谢谢

SELECT specialist_fname, specialist_lname, specialist_contact
FROM ((tbl_specialist
INNER JOIN tbl_care ON tbl_care.care_specialist = tbl_specialist.specialist_id)
INNER JOIN tbl_species ON tbl_species.species_care= tbl_care.care_id)
WHERE species_name = 'penguin'
;