0

我有一个带有两个字段 object1 和 object2 的 mysql 表。通过在输入表单中键入 ID 来单独查询搜索结果,只有与 object1 与 222 和 333 匹配的任何 ID 将返回 ID 的同一行的查询结果。

对object2 也一样,输入与object2 匹配的ID 为444 和999 将返回该ID 的同一行的查询结果。

例如,在输入表单中输入 12345,结果将显示 Joe Long object1(而不是 222)

谁能想到sql和php?

例如,如果我按 ID 12345 进行搜索,那么我希望得到的结果为 Joe Long,object1。

 +-----------------------------------------------------------------+
 | ID        | firstName   | lastName | object1 | object2 | sortID |
 +-----------------------------------------------------------------+
 | 12345     | Joe         | Long     |  222    |    444  |   66   |
 | 12346     | John        | Higgins  |  222    |    444  |   66   |
 | 12347     | David       | Crowe    |  333    |    444  |   66   |
 | 12348     | Denise      | Jacob    |  333    |    999  |   77   |
 | 12349     | George      | Jacob    |  333    |    999  |   77   |
 | 12350     | Iain        | Jacob    |  111    |    444  |   66   |
 | 12351     | Kevin       | Dalglish |  888    |    555  |   77   |
 | 12352     | Christina   | Brown    |  888    |    555  |   77   |
 | 12353     | Jean        | Scholes  |  888    |    555  |   66   |
 | 12354     | Angela      | Scholes  |  333    |    555  |   77   |
 | 12355     | Ellie       | Scholes  |  333    |    555  |   77   |
 +-----------------------------------------------------------------+
4

1 回答 1

1

大概是这样的:

select *
from `table`
where object1 like '%query%' or object2 like '%query%'
group by ID 
order by sortID asc
于 2012-04-24T23:07:36.150 回答