我真的不确定最好的解决方法,或者我只是要求一个比它更简单的生活。我有一个web应用程序的后端,我喜欢用原始SQL编写所有查询。例如,获取特定的用户配置文件,或多个用户,我有这样一个查询:
SELECT accounts.id,
accounts.username,
accounts.is_brony,
WHERE accounts.id IN %(ids)s;
这真的很好,因为我可以获得一个用户配置文件,或者使用同一个查询获得多个用户配置文件。现在我真正的查询实际上差不多有50行长。对于这个概要文件,它有很多连接和其他条件。在
假设我想从一个用户配置文件中获取所有相同的信息,但是我想要的不是一个特定的用户ID,而是一个随机的用户?我不认为复制粘贴50行代码只是为了修改末尾的两行代码。在
^{pr2}$有没有什么方法可以在构建查询时使用某种继承,以便在最后修改一些条件的同时保持核心相似性?在
我确信我可以通过连接字符串之类的方法来管理它,但是我很好奇是否有一种更为广泛接受的方法来处理这种情况。谷歌让我失望了。在
规范的答案是创建一个视图,并在查询中使用不同的
WHERE
和ORDER BY
子句。在但是,根据您的查询和表,对于您的特殊情况,这可能不是一个好的解决方案。在
使用
WHERE accounts.id IN (1, 2, 3)
快速执行的查询可能在ORDER BY random() LIMIT 1
时执行得非常糟糕。在这种情况下,您必须针对第二个需求提出不同的查询。在相关问题 更多 >
编程相关推荐