mysql选择两个参数

时间:2018-05-25 13:43:02

标签: mysql

我在MySQL中创建了一个表,其中包含行时间(唯一),uuid1和uuid2。我的问题是,我想要同时检查两行。

它应该查找uuid1并将uuid2作为输出,同时它应该查找uuid2并将uuid1作为输出。

例如:

我的桌子是

------------------------
| time | uuid1 | uuid2 |
------------------------
| 1    | abc   | def   |
| 2    | ghi   | abc   |
------------------------

因此,如果我查询“abc”,结果1(时间:1,uuid2:def)结果为2(时间:2,uuid1:ghi)。

我希望你能理解我的问题:D是否可以创建这样的查询?

祝你好运, saltemohn

3 个答案:

答案 0 :(得分:0)

很简单。试试这个;

select time,uuid1,uuid2 from my_table where (uuid1 = 'abc' or uuid2 ='abc');

答案 1 :(得分:0)

你的问题不太清楚。当一个语句为真时,或者两者都为真时,是否要获取结果?您希望实现的目标是什么?

声明一个是真的,但不是两个:

SELECT * FROM table WHERE (uuid1='abc' OR uuid2='abc');

声明两者都必须为真:

SELECT * FROM table WHERE (uuid1='abc' AND uuid2='abc');

答案 2 :(得分:0)

我认为您要求的是查询选择不匹配列的值。以下查询应符合该标准:

select
    time
    , case when (uuid1 = 'abc') then uuid2 else uuid1 end as uuid
from
    my_table
where
    ((uuid1 = 'abc') or (uuid2 = 'abc'))