Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/58.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格式[BRAIN CHALLENGE]_Mysql_Sql_Database Design_Entity Relationship_Er Diagram - Fatal编程技术网

仅使用实体关系图查询MYSQL格式[BRAIN CHALLENGE]

仅使用实体关系图查询MYSQL格式[BRAIN CHALLENGE],mysql,sql,database-design,entity-relationship,er-diagram,Mysql,Sql,Database Design,Entity Relationship,Er Diagram,通常我们使用表和模式进行查询,但在我的例子中,我只能使用实体关系图来查询MYSQL格式的一张纸 这些确实使事情变得复杂。我需要你的帮助,比如这个问题 问题: 基于上述数据,内部连接将这样编写: SELECT * FROM Wines INNER JOIN Carry ON Wines.wine_id = Carry.wine_id 请注意,葡萄酒和龋齿之间的关系图显示了0到多(1..1-0..*)。还请注意,wine_id未列在进位表列列表中,而是通过关系隐含的 接下来,您想知道今天

通常我们使用表和模式进行查询,但在我的例子中,我只能使用实体关系图来查询MYSQL格式的一张纸

这些确实使事情变得复杂。我需要你的帮助,比如这个问题

问题:


基于上述数据,
内部连接将这样编写:

SELECT *
FROM Wines
    INNER JOIN Carry ON Wines.wine_id = Carry.wine_id
请注意,葡萄酒和龋齿之间的关系图显示了0到多(1..1-0..*)。还请注意,wine_id未列在进位表列列表中,而是通过关系隐含的

接下来,您想知道今天的价格(提示:由于表进位表有
price\u start\u date
price\u end\u date
这意味着价格不是固定的,您需要使用这些字段):


我不知道的价格、开始日期和你的问题在哪里?上图中提供了有关表定义及其关系的信息。你不明白什么?@Alex我知道,但我们必须通过假设使用主键和外键使用这些关系进行查询。不幸的是,我几乎不知道如何连接这些表。读一下问题。谢谢首先,在发表评论之前,我确实完整地阅读了这个问题。在回答您的评论时:唯一的假设问题是要求您提出的是关于FK列名称,例如Wine_Maker。Wine Maker_id在Wines中会有一个匹配的列。你必须自己带着专栏的名字来。朋友,如果你不介意的话,你可以写一个查询吗。这才是真正的问题和挑战。感谢您不需要知道PKs、FKs或任何其他查询约束。你只需要知道实体和关系/关联是什么意思,即在什么情况下一行进入或离开一个表/关系。问题提到一个记录集,你没有提供它。这是虚构的数据,这就是为什么我没有提供它。谢谢你,但对于加拿大,我想我们需要和那个国家的表联系,一些如何,但哪些键?在这里,我想问一下加拿大的葡萄酒,你需要加入从各国到咖喱的餐桌(注意,它要求你按价格排序)。使用括号中名称旁边有PK的列,例如ctry_代码。PK代表主键。添加了“AND Wines.color=‘Red’”,因为客户想要红酒。您没有错。在
WHERE
子句中,您需要添加
ctry\u name='Canada'
。总结:如果您需要按表中的一列进行筛选(例如,
ctry\u name='Canada'
),或者需要转到另一个表(例如WineMaker),则只需加入该表。我们不需要酿酒师提供任何信息,但我们需要加入这张表格,了解各国。
WHERE price_start_date <= CURDATE() AND CURDATE() <= price_end_date
WHERE price_start_date <= CURDATE() AND CURDATE() <= price_end_date
    AND price_on_carry < 15
SELECT *
FROM Wines
    INNER JOIN Carry ON Wines.wine_id = Carry.wine_id
WHERE price_start_date <= CURDATE() AND CURDATE() <= price_end_date
    AND price_on_carry < 15
    AND Wines.color = 'Red'