0
我有一个表ABR
有三列:两个查找值,A
和B
和结果Result
。我想要结果返回给定A
和B
在通配符中选择MySQL中最具体的行
但是,对于某些值为A
,列B
可以是通配符。在那种情况下,我想要最特定的行。
我似乎无法找出MySQL的声明虽然 - 我发现一个,但它是7号线长,有5 =
和两个IF
的,必须有一个更好的办法。
A B Result
1 * First
2 * Second
2 1 Third
2 2 Fourth
3 * Fifth
Example wanted results:
A=1, B=5 -> First
A=1, B=0 -> First
A=2, B=2 -> Fourth
A=2, B=4 -> Second
A=3, B=7 -> Fifth
请注意,列值可以稍后更改:我们可以为A和B添加额外的行,或删除值。 SQL中的硬编码是不可接受的。
是的,这将工作。但是我加入了另一系列连接的这张表,并且ORDER-BY-LIMIT-1将会抛弃我已经拥有的GROUP-BY。或者,也许我应该把这个在子查询中,然后加入子查询结果? – Konerak
@Konerak:听起来像子查询会起作用。你必须尝试看看。 –