簡體   English   中英

SQL如果該值類似於多個列,則選擇該列

[英]SQL Select the column if the value is like with multiple columns

我需要使用ajax創建自動完成搜索。 建議僅包含輸入最多的10個結果。 如果值類似於我的變量,搜索查詢必須檢查多列。

但是我的問題是為此創建查詢和PHP邏輯。

  1. 是否有任何插件或類似的東西?
  2. 如果列中的值像我的變量,該如何選擇?
  3. 我需要創建一個計數查詢,該計數(在所有列中)計數“完整單詞在這里有多久(由空格分隔)” <-就像找到的那個(獲取相關性)

最后,我需要按找到的條目的相關性對它們進行排序,以提供10個最相關的條目。

(實際查詢檢查的列不只是2個,但出於虛假原因,還可以2個)

選擇值類似於的行的查詢...

select * from 
(
    (select department from entries where department like '%myVariable%') 
OR 
    (select grade from entries where grade like '%myVariable%')
)

我想你知道我的意思。 有人對我有任何提示,建議,示例或有用的鏈接嗎?

提前致謝!

最好的祝福,
FriaN

為什么不在這里使用工會?

select department from entries where department like '%myVariable%'
union all
select grade from entries where grade like '%myVariable%'

然后,這應該為您訂購結果:

select department, count(*) cnt from (
select department from entries where department like '%myVariable%'
union all
select grade from entries where grade like '%myVariable%')a
group by department
order by count(*) desc

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM