Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/27.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 select语句,用于使用join的3个表_Sql_Sql Server - Fatal编程技术网

sql server select语句,用于使用join的3个表

sql server select语句,用于使用join的3个表,sql,sql-server,Sql,Sql Server,下面是我的问题的链接 帮我找到解决办法 您有四个表,而您只加入了三个表。 您试图使用themes表中的列名,但尚未在FROM子句中定义它 您需要始终为n表指定n-1连接条件 再添加一个连接条件,您的查询将无错误地执行此查询如何: select top 3 Package_Title, DurationInDays,Package_Image_1, Adult_Price , STUFF((Select themes.theme + ',' From package_theme

下面是我的问题的链接 帮我找到解决办法


您有四个表,而您只加入了三个表。 您试图使用
themes
表中的列名,但尚未在
FROM
子句中定义它

您需要始终为
n
表指定
n-1
连接条件

再添加一个连接条件,您的查询将无错误地执行

此查询如何:

select top 3 Package_Title, DurationInDays,Package_Image_1, Adult_Price , 
    STUFF((Select themes.theme + ',' From package_theme 
        inner join themes on themeid = package_theme.theme
        Where package_theme.package = packages.Package_ID FOR XML PATH('')),1,1,'')     As theme
from packages 
inner join  rates on rates.package = packages.Package_ID 

我认为这个问题会对你有所帮助。但是我认为您可能需要更改表名,因为查询中也存在一些表名冲突。改进表名格式和列名。查询的问题是,您尚未加入主题表,并且试图访问其列

select top 3 A.Package_Title, A.DurationInDays, Package_Image_1,
B.Adult_Price,D.Theme from packages A 
inner join rates B on B.Package = A.Package_ID 
inner join package_theme C on C.package=A.Package_ID
inner join themes D on D.Theme_ID = C.theme

如果你懒得在这里重新键入或复制/粘贴问题,不要指望有人会费心回答。请参考,这不是与张贴的答案基本相同吗??快到了,但请检查我更新的问题。好的,请稍等片刻,以获取更新您的查询。请立即更新我的查询。您的愿望输出现在可用。我现在更新查询并检查它。您的愿望输出现在可用。如果你愿意的话。如果你对我的答案满意,请检查并给我投票。请给我一票。