這個sql語句該怎麼修改下?
SQL code
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的想法我大致明白,但是like是模糊比對一串字元。LZ如果是想在很多個字元裡面,隨便模糊比對任意一個,只能用in或者通過PHP遍曆結果然後重新sql,這個目前沒見過如何在一條sql裡面實現的,不過應該有大神能做到吧,這我就不清楚了。
------解決方案--------------------
用下面這句,我在Oracle裡面測試是可以的:
select * from users u where u.name like '%'||(select name from users where id=1)||'%';
------解決方案--------------------
LS,如果子查詢中只能取出唯一一條資料,那麼LZ的問題就不是問題了。
問題的關鍵就在於他LIKE中匹配的是個結果集...我剛才查了下,mysql中的函數也沒有能模糊比對一串字元
的,LZ你放棄吧,最好換寫法,因為就算用sql語句實現了,效率也會出奇的底下。
------解決方案--------------------
探討
SQL code
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語句