1

次のコードは正しく動作します。

SELECT Message
FROM SystemEventsR
WHERE Message
LIKE CONCAT('%',(SELECT username FROM users LIMIT 1),'%')

私の質問ですが、ほとんどの場合、複数の行を返す必要があります。

「エラー コード 1242」が発生する LIMIT を省略します

どうしてこれなの?

少なくとも 1 つのユーザー名を含むすべてのメッセージが必要です

JOIN も使用しましたが、役に立ちませんでした

SELECT Message
FROM SystemEventsR
JOIN users ON Message LIKE CONCAT('%',(SELECT username FROM users),'%')

次のようなものが欲しいのですが、 users テーブルの行数が一定ではありません

SELECT Message
FROM SystemEventsR
WHERE 
Message LIKE CONCAT('%',(SELECT username FROM users LIMIT 1,1),'%') OR
Message LIKE CONCAT('%',(SELECT username FROM users LIMIT 2,1),'%') OR
Message LIKE CONCAT('%',(SELECT username FROM users LIMIT 3,1),'%')
4

2 に答える 2

1

これを試すことができますか:

SELECT Message
FROM SystemEventsR
WHERE Message
RLIKE (SELECT GROUP_CONCAT(username SEPARATOR '|') FROM users)

RLIKEに関するマニュアルを確認してください。

于 2013-06-02T15:01:54.267 に答える