从 mySQL 中的单个表行中选择两行

发布于 2024-12-11 23:09:39 字数 259 浏览 0 评论 0原文

我有一个表 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 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

不乱于心 2024-12-18 23:09:39

由于如果不使用 UNION 就不可能实现这一点,因此以下是如何使用它进行存档:

(SELECT ID1 as ID, someValue FROM A WHERE someValue > N)
UNION
(SELECT ID2 as ID, someValue FROM A WHERE someValue > N)

Since this is not possible without using UNION, here is how to archive this with it:

(SELECT ID1 as ID, someValue FROM A WHERE someValue > N)
UNION
(SELECT ID2 as ID, someValue FROM A WHERE someValue > N)
初见终念 2024-12-18 23:09:39

怎么样:

SELECT 
    CASE
        WHEN somecondition THEN ID1
        ELSE ID2
    END AS ID, someValue
FROM that_table

somecondition 可以是类似于您在 WHERE 子句中使用的表达式。

How about:

SELECT 
    CASE
        WHEN somecondition THEN ID1
        ELSE ID2
    END AS ID, someValue
FROM that_table

The somecondition can be an expression similar to those that you use in a WHERE clause.

小傻瓜 2024-12-18 23:09:39

不能只用 or 吗?例如:

select * from A where someValue = 'x' OR someValue 'y'

Could you not just use an or? for example:

select * from A where someValue = 'x' OR someValue 'y'
怎言笑 2024-12-18 23:09:39

如果您需要在单独的行中返回,您最好将数据库模式拆分为“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}.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文