我有一个电影数据库,其中有多列,其中有4列。
director_surname | director_firstname | producer_surname | producer_firstname |
---------------------------------------------------------------------------------
frost | phil | wilson | john |
brendon | john | lee | tommey |
wilson | mark | allen | jill |
我现在想做一条选择语句,在姓氏列中查找名称,然后检查名字列中的值。
因此,如果搜索是威尔逊,约翰,我只想带回那一行。到目前为止,我已经有了,这对于选择姓氏来说是很好的。
SELECT * FROM films
WHERE CONCAT(director_surname, producer_surname)
LIKE '%wilson%';
这是我有点卡住的地方。我尝试了AND语句,但这也会带回以john为名字的所有行。我认为ORDER BY IF语句可以做到,但是我可以使它工作。
预先感谢您的任何想法。
最佳答案
SELECT
*
FROM
films
WHERE
(
director_sirname = 'wilson'
AND director_firstname = 'john'
) OR
(
producer_sirname = 'wilson'
AND producer_firstname = 'john'
)
;