Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/64.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 如何使用join从多个表中获取相关数据?_Mysql_Join - Fatal编程技术网

Mysql 如何使用join从多个表中获取相关数据?

Mysql 如何使用join从多个表中获取相关数据?,mysql,join,Mysql,Join,表名:holi 身份证 国家 hdate(假日日期) 描述 链接 并将上表拆分为多个表,以减少冗余 如表国家/地区 身份证 名字 表假日 身份证 假日 表度假国家 身份证 假日id(假日id的fk) 国家/地区id(国家/地区id的fk) 链接 所以现在我需要从表holi中获取hdate和假日国家的id 通过将holi表的值与所有其他表关联,可以获取假日国家的id holi表中与假日表中假日相关的说明 holi表中的国家/地区与国家/地区表中的国家/地区相关 我怎么才能得到呢?我

表名:holi

  • 身份证
  • 国家
  • hdate(假日日期)
  • 描述
  • 链接
并将上表拆分为多个表,以减少冗余

如表国家/地区

  • 身份证
  • 名字
假日

  • 身份证
  • 假日
度假国家

  • 身份证
  • 假日id(假日id的fk)
  • 国家/地区id(国家/地区id的fk)
  • 链接
所以现在我需要从表holi中获取hdate和假日国家的id

通过将holi表的值与所有其他表关联,可以获取假日国家的id

holi表中与假日表中假日相关的说明 holi表中的国家/地区与国家/地区表中的国家/地区相关


我怎么才能得到呢?

我不确定你到底在匹配什么,所以这可能有点不对劲,但我想:

SELECT * 
FROM holi
JOIN holidays AS h
ON holi.description = h.holiday
JOIN countries AS c 
ON holi.country = c.name

其中,
SELECT*
可以替换为您想要选择的任何内容。

您的FK关系不清楚,您能指出这些关系吗?来自假日国家的假日id是来自假日的id的FK,来自假日国家的国家id是来自国家的id的FK。实际上,我还有一个表,列为hid、year、date。。我想使用“从所有其他表中选择”插入此表。(“hid”应该是来自holiday_countries的id,hdate来自holi)我在holi表中有7580行,我尝试了以下查询,但它列出了7638行。。我不知道我哪里做错了查询是select holiday\u countries.id,year(holi.hdate),holi.hdate from holi left join holi on holi.description=holidays.holiday left join countries on holi.countries=countries.name left join holiday\u countries.id=holiday\u id and countries.id=holiday\u countries.country\u id
holi
与其他任何表格有什么关系?表格holi没有与他人没有任何关系。。我要把这张桌子分到其他桌子上。。所以我需要将数据从旧表传输到新表我在holi表中有7580行,我尝试了以下查询,但它列出了7638行。。我不知道我哪里做错了查询是select holiday\u countries.id,year(holi.hdate),holi.hdate from holi left join holi on holi.description=holidays.holiday left join countries on holi.countries=countries.name left join holiday\u countries on holiday.id=holiday\u id and countries.id=holiday\u countries.country\u id可能尝试左连接而不是连接。现在它将生成所有可能的组合。看上面的评论,它只是一个左连接