从 mySQL 中的单个表行中选择两行
我有一个表 A (Id1, Id2, someValue)
我想在 mySQL 中实现什么:
我的 SELECT
查询应该返回 两行:(
Id1, someValue
Id2, someValue
基于特定条件 - 例如,其中 someValue > N)
如何在不使用 UNION
的情况下实现此目的?
I have a table A (Id1, Id2, someValue)
What I want to achieve in mySQL:
My SELECT
query should return
two rows:
Id1, someValue
Id2, someValue
(based on a certain condition - for example, where someValue > N)
How can I achieve this without using UNION
?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
由于如果不使用 UNION 就不可能实现这一点,因此以下是如何使用它进行存档:
Since this is not possible without using
UNION
, here is how to archive this with it:怎么样:
somecondition
可以是类似于您在WHERE
子句中使用的表达式。How about:
The
somecondition
can be an expression similar to those that you use in aWHERE
clause.不能只用 or 吗?例如:
Could you not just use an or? for example:
如果您需要在单独的行中返回,您最好将数据库模式拆分为“id,someValue”。插入时,只需插入 {id1_value, someValue}、{id2_value, someValue},检索时只需从 value = someValue 的表中选择。您将获得您期望的回报。
如果您需要以某种方式关联 id1 和 id2(创建链接列表或其他方式),您可以将相关 id 添加到条目中。架构可以是
{id,值,related_id}。
If you need the return in separated rows you'd better split the db schema to "id, someValue". On insert, just insert {id1_value, someValue}, {id2_value, someValue}, and on retrieve just select from table where value = someValue. You'll get the return you expect.
If you need to relate id1 and id2 in some way (make a linked list or whatever), you may add the related id to the entry. The schema could be
{id, value, related_id}.