Mysql 选择两列串联相等的数据
我正在尝试从我的表中获取所有数据,我正在搜索的人的名字和姓氏与我发送的名字和姓氏列表相匹配。问题是名字和姓氏存储在各自的列中。是否有任何方法可以编写一个查询,以查找与发送的名称列表匹配的所有数据Mysql 选择两列串联相等的数据,mysql,Mysql,我正在尝试从我的表中获取所有数据,我正在搜索的人的名字和姓氏与我发送的名字和姓氏列表相匹配。问题是名字和姓氏存储在各自的列中。是否有任何方法可以编写一个查询,以查找与发送的名称列表匹配的所有数据 myDatabase Fname | lname | email | City ... ___________________________________ John | Smith |jsmit...| New York... Joe | Smith |jjsm... |
myDatabase
Fname | lname | email | City ...
___________________________________
John | Smith |jsmit...| New York...
Joe | Smith |jjsm... | San Fran...
Jane | Jackson|jjack...| New Yokr...
我会传递一个列表,如“John Smith”、“Jane Jackson”,并希望返回它们的两行。我知道我可以从myDatabase中使用SELECT*,其中Fname在(…)
中,但我不知道当名字和姓氏在不同的列中时,如何对它们执行类似的操作
如果我说的话毫无意义,我会尽力消除任何困惑 如果您计划返回连接的名称,可以选择它并使用
HAVING
子句:
SELECT *
FROM myDatabase
WHERE CONCAT(fname, ' ', lname) IN ('John Smith', 'Jane Smith')
SELECT *, CONCAT(fname, ' ', lname) as fullname
FROM myDatabase
HAVING fullname IN ('John Smith','Jane Jackson')
嗯,这比我预想的要容易得多。谢谢你,我会在可能的时候接受你的回答。