說,我們有10列,如何從MySQL更多的選擇或匹配
col1,col2 ... col10;
如何選擇一行where col1 = "some" OR col2= "some" OR col3= "somethingelse" ... OR col10 = "who knows";
,與最高或匹配?
row1匹配col1,col2,col3,col4
;
row2匹配col1,col4
;
想選擇row1
,
說,我們有10列,如何從MySQL更多的選擇或匹配
col1,col2 ... col10;
如何選擇一行where col1 = "some" OR col2= "some" OR col3= "somethingelse" ... OR col10 = "who knows";
,與最高或匹配?
row1匹配col1,col2,col3,col4
;
row2匹配col1,col4
;
想選擇row1
,
你想要的是一個通配符列的搜索。 (意思是col *的所有列)。
這不能不完全由MySQL AFAIK。 您可以按照以下方式獲取匹配列,然後使用php構建查詢。
SELECT COLUMN_NAME
FROM information_schema.`COLUMNS` C
WHERE table_name = 'yourTable' AND COLUMN_NAME LIKE 'col%'
使用匹配列構建在PHP中的字段列表(又名破滅領域進入「COL1」 =「X」或「COL2」 =「X」等
希望這有助於 。夏嘉曦
謝謝,我會嘗試 – somekindofdude
你可以做什麼會是這樣的:
SELECT col1, col2, col3
FROM tblName
ORDER BY (IF(col1="some",1,0)
+IF(col2="some",1,0)
+IF(col3="somethingelse",1,0)...
+IF(coln="who knows",1,0))
Desc
做這種方式將使大部分的比賽排在列表的頂部,您可以在t加限制1個語句他結束只顯示最匹配的行。
我也在想這種方式,想找到其他方式,謝謝,我想我會這樣做 – somekindofdude
「最高OR匹配」是什麼意思? – xdazz
'OR'不是唯一的。你在想'XOR',op? – Amber