在以下示例来说明我的问题,在要显示在网格上的行上,Marge可以看到第1行,Bart第2行以及Homer第1和2行。
如果用户是Marge并且Marge在users_list上,则可以看到第1行:
//tab_rows
id rows user_ref
__ ____ ________
1 row1 1
2 row2 2
。
//tab_users
id_users user_ref users_list color
________ _______ __________ _______
1 1 Marge Red
2 1 Homer Blue
3 2 Bart Black
4 2 Homer Green
。
SELECT rows FROM tab_rows
WHERE user_ref IN (SELECT user_ref FROM tab_users
WHERE users_list = 'Marge')
这行得通。
我的问题是,我还需要从客户端的color列中获取值,其目的如下:
在示例中,Marge和Homer都可以看到第1行。
但是,如果用户是Marge,则该行将以红色高亮显示;否则,该行将变为红色。如果用户是荷马,则该行将以蓝色高亮显示。
(每个用户可以在不同的行上使用不同的颜色,就像荷马一样)。
在客户端,我将使用render函数根据颜色的值动态地执行此操作。
做这个的最好方式是什么?
我需要第二个查询来获取与每一行中每个用户相对应的颜色?
您可以使用联接
select a.rows, b.color
from tab_rows as a
inner join tab_users as b on a.user_ref = b.user_ref
where b.userlist = 'Marge';
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句