Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/66.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
mySQL Multiple Join in 1语句仅显示属性标题_Mysql_Sql_Join - Fatal编程技术网

mySQL Multiple Join in 1语句仅显示属性标题

mySQL Multiple Join in 1语句仅显示属性标题,mysql,sql,join,Mysql,Sql,Join,我试图从三个具有内部联接的不同表中提取数据,但每当我运行它时,结果只显示每个列的每个属性的标题。是否有人知道如何修复此问题,并感谢您的帮助 select dvd.dvd_id, dvd.dvd_title, rentalprices.daily_charge, dvd.no_of_discs, dvd.age_rating, publisher.publisher_name, distribution_company.company From dvd inner join rentalp

我试图从三个具有内部联接的不同表中提取数据,但每当我运行它时,结果只显示每个列的每个属性的标题。是否有人知道如何修复此问题,并感谢您的帮助

select dvd.dvd_id, dvd.dvd_title, rentalprices.daily_charge, dvd.no_of_discs, dvd.age_rating, publisher.publisher_name, distribution_company.company
From dvd
    inner join rentalprices
        on dvd.rental_rate_id=rentalprices.daily_charge
    inner join publisher
        on dvd.publisher_id=publisher.publisher_name
    inner join distribution_company
        on dvd.dist_comp_id=distribution_company.company;
如果所有内部联接都更改为左联接,则租金价格有效,而其他联接则为空。

如果您说“如果所有内部联接都更改为左联接,则租金价格有效,但其他联接为空”,那么您已经给出了问题的答案:

如您所写,如果像dvd.publisher\u id=publisher.publisher\u name这样的语句在
publisher
表的属性上只给您
null
-值,则这意味着
dvd.publisher\u id
值与任何
publisher.publisher\u name
都不匹配。如果使用内部联接,则结果必须为空,因为也不会有任何匹配项

请注意,任何进一步的内部联接或左联接都不会向结果中添加任何行;如果参与其他内部联接或作为左联接的lhs的一个表或联接结果为空,则结果仍为空


因此:请查看正在使用的属性的语义/内容。

您确定要内部联接吗?当你加入时会发生什么?我觉得奇怪的是,
dvd.publisher\u id
publisher.publisher\u name
匹配。确实有正确的列吗?原因是结果行为零。正如@dstudeba所指出的,您加入的列看起来有些奇怪。不确定架构师是谁,但通常希望FK和PKs具有相同的名称。。例如:dvd上的
。publisher\u id=publisher.publisher\u id
。。我的意思是,除非您的发布者id是例如
foo
,并且您的发布者名称也是
foo
,但这通常是一种不好的做法。嗯,当它们都更改为正常联接时,没有任何更改。至于建筑师,我能说的不多