Suppose I have the data below, the last keyword is nothing more than a combination of the other 4 columns.
ββββββ¦βββββββ¦βββββββββββββ¦ββββββββββ¦βββββββββββββ¦βββββββββββββββββββββββββββββββββ β ID β Name β Add1 β Add2 β Add3 β Keyword β β βββββ¬βββββββ¬βββββββββββββ¬ββββββββββ¬βββββββββββββ¬βββββββββββββββββββββββββββββββββ£ β 1 β John β W Brown St β Edison β Washington β JohnW Brown StEdisonWashington β β 2 β Paul β E High Rd β Peapack β New Jersey β PaulE High RdPeapackNew Jersey β β 3 β John β Greams Rd β Peapack β Washington β JohnGreams RdPeapackWashington β ββββββ©βββββββ©βββββββββββββ©ββββββββββ©βββββββββββββ©βββββββββββββββββββββββββββββββββ
Now the user can enter any text field Name, Add1, Add2, Add3 and click on search, and he must search in all fields.
For this, I'm trying to do it,
SELECT *, COUNT(ID) AS FREQUENCY FROM TABA WHERE ID IN ( (SELECT ID FROM TABA WHERE KEYWORD LIKE '%WASHINGTON%') UNION ALL (SELECT ID FROM TABA WHERE KEYWORD LIKE '%JOHN%') UNION ALL (SELECT ID FROM TABA WHERE KEYWORD LIKE '%PEAPACK%') ) GROUP BY ID ORDER BY FREQUENCY
Expected Result:
ββββββ¦βββββββ¦βββββββββββββ¦ββββββββββ¦βββββββββββββ¦ββββββββββββ β ID β Name β Add1 β Add2 β Add3 β Frequency β β βββββ¬βββββββ¬βββββββββββββ¬ββββββββββ¬βββββββββββββ¬ββββββββββββ£ β 3 β John β Greams Rd β Peapack β Washington β 3 β β 1 β John β W Brown St β Edison β Washington β 2 β β 2 β Paul β E High Rd β Peapack β New Jersey β 1 β ββββββ©βββββββ©βββββββββββββ©ββββββββββ©βββββββββββββ©ββββββββββββ
But I get all frequency values ββas 1. What am I doing wrong?
sql sql-server
Robert
source share