2011-06-23 16 views
1

のようなコラムは私がフォームのFirstName%の姓MYSQL column1の%column2の

の名前を持っているどのように多くの行の表で確認したい3つのフィールド、名、姓と名の

を持つテーブルがある場所を選択私はしようとしました

select * from family_watchdog_offender where name like firstname%lastname\G 

しかし、クエリの%lastname部分に関する構文エラーを返しました。このようなクエリを実行するための構文がありますか?

+0

を行うために必要なものであり得ることを行うことができるとは思いませんfirstname%lastname \ Gの意味を正確に知っています。同様の式を使用する場合は、%some_criteria%で始まり、mysqlクエリで選択または評価しているすべての値を一重引用符で囲みます。例えば ​​'%firstnamelastname%' – Chibuzo

+1

@Chibuzo - '好きな'表現はその中のどこでも '%'を使うことができるので 'like 'firstname%lastname''が有効です。 Seanは引用符を使用せずに列の値を使用しようとしています。シェフの答えを参照してください。 –

答えて

8
SELECT * FROM family_watchdog_offender WHERE name LIKE CONCAT(firstname, '%', lastname); 
+0

+1 @Shrefもちろん正しいです。私はMSSQLを見たことを誓う。 D'oh – NullRef

+1

希望どおりに作業しました。お元気に助けてくれてありがとう – Sean

+0

@Sean:ようこそ!私の答えがあなたの問題を解決したら、それを受け入れることを検討してください。 :) – Shef

2

するTry連結-INGの%

select * from family_watchdog_offender where name like CONCAT(firstname, '%', lastname) 
+1

'+'はMySQLの文字列を連結しません。 – Shef

0

私は「あなたが...これは、あなたが、私はドン

SELECT * 
FROM family_watchdog_offender 
WHERE name LIKE CONCAT(firstname, '%') 
AND name LIKE CONCAT('%', lastname);