我在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
答案 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'))