【发布时间】:2021-08-18 19:04:32
【问题描述】:
对于任何含糊之处,我深表歉意,这是关于我上周在入门级 SQL 职位测试中遇到的一个问题。我当时无法弄清楚如何做到这一点,现在似乎也无法弄清楚。
基本上我得到了 3 张桌子。一个是 Recipes(有食谱名称、ID、说明和注释),一个是 RecipeIngredients(有食谱 ID、成分 ID、成分和成分数量),第三个是成分(成分 ID 和成分)。类似的东西。
我有一些关于 JOIN 语句的查询,这些语句显示了如何制作某些食谱等。但我无法弄清楚如何处理最后一个问题。最后一个问题是这样的:
“一次提供 2 组查询。第一个查询 - 返回特定 ID 的成分、数量和注释。第二个查询 - 返回相同配方 ID 的说明。编写查询以便用户可以轻松更改配方 ID 仅用于两个查询,以便查询不同的配方 ID。”
我知道我们不能为 WHERE 子句加上别名,但这是我可以远程想到的唯一方法,即一次只指定一次 WHERE 即可一次执行 2 个查询。我试图看看我是否可以使用子查询来做到这一点,但没有运气。我考虑过 UNION...但是每个查询中都有不同的列和不同的值,所以这是不行的。
我有什么遗漏吗?还是在尝试将其设置为子查询时我完全失败了?我为含糊而道歉,已经有几天了,我太忙了,不记得在这里发布这个。过去我在匿名浏览该网站时找到了很多帮助,因此我认为值得发布此内容,因为到目前为止我还没有看到类似的内容。
【问题讨论】:
-
您可以在任何流行的 RDBMS 中创建一个接受参数并根据需要多次使用该参数的过程。
标签: sql