根据搜索结果过滤特定列
Filter Specific Column Based on Search Results
我有一个搜索栏和一个从我的 sql 服务器数据库中填充的 HTML table。每当我搜索时,它都会在 SKU
和 SKU Description
上使用 LIKE
命令来过滤 table。当显示结果时,我希望它根据最匹配 SKU
列的内容过滤结果。
例如,如果我搜索 "100"
,它将显示位于 SKU
或 SKU Description
列的结果。但是,我希望它进行过滤,以便在 SKU Description
列中匹配的值之前先过滤 SKU
列中匹配的值。
我认为这只是向我的查询添加一些内容的问题,但我该怎么做呢?
这是我的查询:
$query = "SELECT Product_ID, [Major Category], [Minor Category], [Product Report Code], SKU, [SKU Description], [SKU Status], CAST([Create Date] AS DATE) AS Date, Group_ID, [SKU Group]
FROM vProducts
WHERE CONCAT(SKU, [SKU Description])
LIKE '%".$valueToSearch."%'";
这可能有点矫枉过正,您必须将其格式化为您的“$query”。这是 sql.
SELECT A.Product_ID, A.[Major Category], A.[Minor Category], A.[Product Report Code], A.SKU, A.[SKU Description], A.[SKU Status], A.Date, A.Group_ID, A.[SKU Group], A.Sort
FROM (
SELECT Product_ID, [Major Category], [Minor Category], [Product Report Code], SKU, [SKU Description], [SKU Status], CAST([Create Date] AS DATE) AS Date, Group_ID, [SKU Group], 1 AS Sort
FROM vProducts
WHERE SKU LIKE '%' + @value + '%'
UNION all
SELECT Product_ID, [Major Category], [Minor Category], [Product Report Code], SKU, [SKU Description], [SKU Status], CAST([Create Date] AS DATE) AS Date, Group_ID, [SKU Group], 2 AS Sort
FROM vProducts
WHERE [SKU Description] LIKE '%' + @value + '%'
) A
ORDER BY A.Sort
我有一个搜索栏和一个从我的 sql 服务器数据库中填充的 HTML table。每当我搜索时,它都会在 SKU
和 SKU Description
上使用 LIKE
命令来过滤 table。当显示结果时,我希望它根据最匹配 SKU
列的内容过滤结果。
例如,如果我搜索 "100"
,它将显示位于 SKU
或 SKU Description
列的结果。但是,我希望它进行过滤,以便在 SKU Description
列中匹配的值之前先过滤 SKU
列中匹配的值。
我认为这只是向我的查询添加一些内容的问题,但我该怎么做呢?
这是我的查询:
$query = "SELECT Product_ID, [Major Category], [Minor Category], [Product Report Code], SKU, [SKU Description], [SKU Status], CAST([Create Date] AS DATE) AS Date, Group_ID, [SKU Group]
FROM vProducts
WHERE CONCAT(SKU, [SKU Description])
LIKE '%".$valueToSearch."%'";
这可能有点矫枉过正,您必须将其格式化为您的“$query”。这是 sql.
SELECT A.Product_ID, A.[Major Category], A.[Minor Category], A.[Product Report Code], A.SKU, A.[SKU Description], A.[SKU Status], A.Date, A.Group_ID, A.[SKU Group], A.Sort
FROM (
SELECT Product_ID, [Major Category], [Minor Category], [Product Report Code], SKU, [SKU Description], [SKU Status], CAST([Create Date] AS DATE) AS Date, Group_ID, [SKU Group], 1 AS Sort
FROM vProducts
WHERE SKU LIKE '%' + @value + '%'
UNION all
SELECT Product_ID, [Major Category], [Minor Category], [Product Report Code], SKU, [SKU Description], [SKU Status], CAST([Create Date] AS DATE) AS Date, Group_ID, [SKU Group], 2 AS Sort
FROM vProducts
WHERE [SKU Description] LIKE '%' + @value + '%'
) A
ORDER BY A.Sort