ホームページ  >  記事  >  バックエンド開発  >  この SQL ステートメントを変更する方法

この SQL ステートメントを変更する方法

WBOY
WBOYオリジナル
2016-06-13 13:47:53877ブラウズ

この SQL ステートメントをどのように変更すればよいでしょうか?

SQL コード
<!--

Code highlighting produced by Actipro CodeHighlighter (freeware)
http://www.CodeHighlighter.com/

-->SELECT si.user_id FROM ecs_store_info AS si WHERE si.store_name like (SELECT wl.store_name FROM ecs_wpaqq_log AS wl WHERE wl.lngShopId=0)
は、like キーの後に select ステートメントを使用する方法です

-----解決策--------- - ----------
LZ のアイデアは概ね理解できますが、文字列のあいまい一致のようなものです。 LZ 多くの文字のいずれか 1 つをあいまい一致させたい場合は、in または PHP を使用して結果をトラバースしてから、SQL を再実行するしかありません。これを SQL で実装する方法はまだ見ていませんが、それができるマスターが存在するはずです。やってください、これについては知りません。
------解決策---------
次の文を使用してください。Oracle でテストしました。 ok:
select * from users u where u.name like '%'||(id=1 のユーザーから名前を選択)||'%';
------解決策-----------
LS、一意のもののみを取得できる場合サブクエリがデータの一部である場合、LZ の問題は問題ではなくなります。

問題の鍵は、LIKE が結果セットと一致することです...確認したところ、文字列

、LZ Give とあいまい一致できる関数が mysql にありません。 SQL文を使って実装しても驚くほど効率が悪いので書き方を変えた方が良いでしょう。
------解決策---------
話し合う
SQL コード
SELECT si.user_id FROM ecs_store_info AS si WHERE si.store_name like (SELECT wl.store_name FROM ecs_wpaqq_log AS wl WHERE wl.lngShopId=0)
これは、like キーの後に select ステートメントを使用する方法です。
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。