检查mySQL中的相邻列值

时间:2014-03-31 10:38:57

标签: mysql sql

我有一个包含多列的影片数据库,其中有4列。

director_surname |  director_firstname | producer_surname |  producer_firstname |
---------------------------------------------------------------------------------
    frost        |    phil             |    wilson        |    john             |

    brendon      |    john             |    lee           |    tommey           |

    wilson       |    mark             |    allen         |    jill             |

我现在想做一个select语句,在姓氏列中查找名称,然后检查 firstname 列中的值。

所以如果搜索是威尔逊,约翰我只想带回那一行。到目前为止,我有这个,这对姓氏选择很好。

SELECT * FROM films 
WHERE CONCAT(director_surname, producer_surname) 
LIKE '%wilson%';

这是我有点卡住的地方。我尝试了 AND 语句,但这也将 john 的所有行都带回名字。我认为 ORDER BY IF 语句可能会这样做,但我可以让它发挥作用..

提前感谢您的任何想法。

1 个答案:

答案 0 :(得分:0)

SELECT
    *
FROM
    films 
WHERE
    (
        director_sirname = 'wilson'
        AND director_firstname = 'john'
    ) OR
    (
        producer_sirname = 'wilson'
        AND producer_firstname = 'john'
    )
;