Heim > Datenbank > MySQL-Tutorial > mysql in子句问题请教

mysql in子句问题请教

WBOY
Freigeben: 2016-06-06 09:33:31
Original
940 Leute haben es durchsucht

mysql

1、select role_auth_ids from test_role where role_name='经理' 的执行结果:
+------------+
role_auth_ids
+------------+
1,2,3

2、select auth_name from test_auth where auth_id in (1,2,3)的执行结果:
+------+
auth_name
+------+
商品管理
商品添加
商品编辑

但是,将1、2条语句合并后,即select auth_name from test_auth where auth_id in (select role_auth_ids from test_role where role_name='经理'),执行结果只有一条数据,也就是只有商品管理一个数据。这是why?

SELECT auth_name FROM test_auth WHERE auth_id IN (SELECT replace(concat('''',role_auth_ids,''''),',',''',''') FROM test_role WHERE role_name = '经理 ') 给in子句加上单引号也不行..................

请教各位大神我该如何才能从通过test_role中role_auth_ids查询出对应的test_auth表中的auth_name呢?

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage