php和sql的新手,所以我将尝试解释:
我在PHP中有一个SEARCH字段,我试图按与用户输入内容匹配的'ProposalName'进行搜索。
这样可以很好地打印出来:
SELECT
rec_proposal.ProposalID,
ProposalName,
Status,
researcher.FirstName,
researcher.LastName,
reviewer.FirstName as revFirstName,
reviewer.LastName as revLastName,
reviewer.UserID as revUserID,
review.ReviewDate as revDate,
rec_proposal.DateSubmitted
FROM rec_proposal
INNER JOIN User AS researcher
ON rec_proposal.userid = researcher.UserID
LEFT JOIN review
ON rec_proposal.ProposalID=review.ProposalID
LEFT JOIN User as reviewer
ON review.UserID=reviewer.UserID
但是现在使用所有列,我需要上面的代码来做这样的事情
SELECT * FROM rec_proposal WHERE CONCAT (ProposalName) LIKE'%test%'
因此,如果用户输入单词“ test”,您将看到ProposalName包含单词test
最佳答案
只需添加您的WHERE
子句,它应该可以工作。正如scaisEdge在他们的评论中指出的那样,如果您只评估单个列,则不需要CONCAT()
:
SELECT
rec_proposal.ProposalID,
ProposalName,
Status,
researcher.FirstName,
researcher.LastName,
reviewer.FirstName as revFirstName,
reviewer.LastName as revLastName,
reviewer.UserID as revUserID,
review.ReviewDate as revDate,
rec_proposal.DateSubmitted
FROM rec_proposal
INNER JOIN User AS researcher
ON rec_proposal.userid = researcher.UserID
LEFT JOIN review
ON rec_proposal.ProposalID=review.ProposalID
LEFT JOIN User as reviewer
ON review.UserID=reviewer.UserID
WHERE rec_proposal.ProposalName LIKE '%test%'
关于mysql - 搜索SQL数据库和CONCAT数据,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/44702813/