我继承了这个非常大且架构不佳的解决方案,需要编写/运行一些大而笨拙的查询。
虽然下面的查询有效并为我提供了我想要的结果,但每个选择提供帮助的志愿者的列表并未标记为测试,并且关联的用户帐户标记为“活动”。然后是一组额外的列,一个用于 5 个社交媒体平台中的每一个(但它也可以很容易地成为技能列表或任何东西)
SELECT v.volunteerid
, v.firstname
, v.lastname
, v.mobile
, v.phone
, v.email
, v.has_smartphone
, MAX(case vs.socialid when '1' then 'Yes' else 'No' end) Facebook
, MAX(case vs.socialid when '2' then 'Yes' else 'No' end) Twitter
, MAX(case vs.socialid when '3' then 'Yes' else 'No' end) Instagram
, MAX(case vs.socialid when '4' then 'Yes' else 'No' end) Vine
, MAX(case vs.socialid when '5' then 'Yes' else 'No' end) Google+
FROM wp_cfg_volunteer v
LEFT OUTER JOIN appusers u
ON u.volunteerid = v.volunteerid
LEFT OUTER JOIN wp_cfg_volunteer_social vs
ON vs.volunteerid = v.volunteerid
WHERE v.is_test=0
AND v.will_help=1
AND u.activationstate='Active'
GROUP BY v.volunteerid
我的问题是:我怎样才能使社交平台查找查询基于,这样socialid
我就可以编写一个循环遍历wp_cfg_social
表的查询,而不是硬编码值和它们的关联名称,拉出 id 和 name 值?
对于奖励积分:什么是掌握 mysql 查询的进出的好资源。
谢谢,
nbsp