Mysql 如何使用join从多个表中获取相关数据?
表名:holiMysql 如何使用join从多个表中获取相关数据?,mysql,join,Mysql,Join,表名:holi 身份证 国家 hdate(假日日期) 描述 链接 并将上表拆分为多个表,以减少冗余 如表国家/地区 身份证 名字 表假日 身份证 假日 表度假国家 身份证 假日id(假日id的fk) 国家/地区id(国家/地区id的fk) 链接 所以现在我需要从表holi中获取hdate和假日国家的id 通过将holi表的值与所有其他表关联,可以获取假日国家的id holi表中与假日表中假日相关的说明 holi表中的国家/地区与国家/地区表中的国家/地区相关 我怎么才能得到呢?我
- 身份证
- 国家
- hdate(假日日期)
- 描述
- 链接
- 身份证
- 名字
- 身份证
- 假日
- 身份证
- 假日id(假日id的fk)
- 国家/地区id(国家/地区id的fk)
- 链接
我怎么才能得到呢?我不确定你到底在匹配什么,所以这可能有点不对劲,但我想:
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 idholi
与其他任何表格有什么关系?表格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可能尝试左连接而不是连接。现在它将生成所有可能的组合。看上面的评论,它只是一个左连接