I think I found out why there are no records in the table. The query that fills the table stopped working. Here is the query:
/*TRUNCATE TABLE `StudyGroupRoster`;
INSERT INTO `StudyGroupRoster` (
`GroupName`,`Category`,`GroupType`,`DayOfWeek`,`Weeks`,
`MaxMembers`,`FromSFV`,`Portfolio`,`Vp`,`VpAddress`,`VpPhone`,`VpEmail`,`Registrar`,
`RegistrarAddress`,`RegistrarPhone`,`RegistrarEmail`,`MemberSortName`,`MemberName`,
`MemberEmail`,`MemberAddress`,`PrimaryPhone`,`SecondaryPhone`,`Position`,`Paid`,`CkNo`
)*/
(SELECT
`StudyGroups`.`GroupName` AS `GroupName`,
`GroupCategories`.`Category` AS `Category`,
`StudyGroups`.`GroupType` AS `GroupType`,
case
when `StudyGroups`.`DayOfWeek` = 1 then 'Sunday'
when `StudyGroups`.`DayOfWeek` = 2 then 'Monday'
when `StudyGroups`.`DayOfWeek` = 3 then 'Tuesday'
when `StudyGroups`.`DayOfWeek` = 4 then 'Wednesday'
when `StudyGroups`.`DayOfWeek` = 5 then 'Thursday'
when `StudyGroups`.`DayOfWeek` = 6 then 'Friday'
when `StudyGroups`.`DayOfWeek` = 7 then 'Saturday'
else '' end as `DayOfWeek`,
TRIM(
CONCAT(
if(`StudyGroups`.`Week1`,'1',''),
if(`StudyGroups`.`Week2`,' 2',''),
if(`StudyGroups`.`Week3`,' 3',''),
if(`StudyGroups`.`Week4`,' 4',''),
if(`StudyGroups`.`Week5`,' 5','')
)
) as Weeks,
`StudyGroups`.`MaxMembers` AS `MaxMembers`,
`StudyGroups`.`FromSFV` AS `FromSFV`,
`Portfolios`.`Portfolio` AS `Portfolio`,
(SELECT IFNULL(`Members`.`FullName`,'') FROM `Members` WHERE `Members`.`MembersKey` = `Portfolios`.`VpKey`) AS `Vp`,
(SELECT IFNULL(`Members`.`Address`,'') FROM `Members` WHERE `Members`.`MembersKey` = `Portfolios`.`VpKey`) AS `VpAddress`,
(SELECT case
when PrimaryPhone is null then ''
else concat('(', substring(PrimaryPhone, 1,3), ') ',
substring(PrimaryPhone,4,3), '-', substring(PrimaryPhone,7,4) )
end
FROM Members WHERE MembersKey = `Portfolios`.`VpKey`
) AS `VpPhone`,
(SELECT IFNULL(`Members`.`Email`,'') FROM `Members` WHERE `Members`.`MembersKey` = `Portfolios`.`VpKey`) AS `VpEmail`,
(SELECT IFNULL(`Members`.`FullName`,'') FROM `Members` WHERE `Members`.`MembersKey` = `Portfolios`.`RegistrarKey`) AS `Registrar`,
(SELECT IFNULL(`Members`.`Address`,'') FROM `Members` WHERE `Members`.`MembersKey` = `Portfolios`.`RegistrarKey`) AS `RegistrarAddress`,
(SELECT case
when PrimaryPhone is null then ''
else concat('(', substring(PrimaryPhone, 1,3), ') ',
substring(PrimaryPhone,4,3), '-', substring(PrimaryPhone,7,4) )
end
FROM Members WHERE MembersKey = `Portfolios`.`RegistrarKey`
) AS `RegistrarPhone`,
(SELECT IFNULL(`Members`.`Email`,'') FROM `Members` WHERE `Members`.`MembersKey` = `Portfolios`.`RegistrarKey`) AS `RegistrarEmail`,
IFNULL(`Members`.`SortName`,'') AS `MemberSortName`,
IFNULL(`Members`.`FullName`,'') AS `MemberName`,
IFNULL(`Members`.`Email`,'') AS `MemberEmail`,
IFNULL(`Members`.`Address`,'') AS `MemberAddress`,
case when Members.PrimaryPhone is null or Members.PrimaryPhone = '' then ''
else concat('(', substring(Members.PrimaryPhone,1,3), ') ',
substring(Members.PrimaryPhone,4,3), '-',
substring(Members.PrimaryPHone,7,4),
case when Members.PrimaryPhoneType is null then ''
else concat(' (',Members.PrimaryPhoneType, ')') end
)
end AS `PrimaryPhone`,
case when Members.SecondaryPhone is null or Members.SecondaryPhone = '' then ''
else concat('(', substring(Members.SecondaryPhone,1,3), ') ',
substring(Members.SecondaryPhone,4,3), '-',
substring(Members.SecondaryPhone,7,4),
case when Members.SecondaryPhoneType is null or Members.SecondaryPhoneType = '' then ''
else concat(' (',Members.SecondaryPhoneType, ')') end
)
end AS `SecondaryPhone`,
-- combine 5 booleans into a single "Position" text field
TRIM(
CONCAT(
if(`StudyGroupMembers`.`IsLeader`,'L',''),
if(`StudyGroupMembers`.`IsCoordinator`,' C',''),
if(`StudyGroupMembers`.`IsCoLeader`,' CL',''),
if(`StudyGroupMembers`.`IsAssistant`,' A',''),
if(`StudyGroupMembers`.`IsSunshine`, ' S','')
)
) AS `Position`,
`StudyGroupMembers`.`GroupPaidDate` AS `Paid`,
IFNULL(`StudyGroupMembers`.`CheckNumber`,'') AS `CkNo`
FROM
`StudyGroups`
INNER JOIN `StudyGroupMembers` ON (
`StudyGroups`.`StudyGroupsKey` = `StudyGroupMembers`.`StudyGroupKey`
)
INNER JOIN `Members` ON (
`StudyGroupMembers`.`MemberKey` = `Members`.`MembersKey`
)
INNER JOIN `GroupCategories` ON (
`StudyGroups`.`CategoryKey` = `GroupCategories`.`GroupCategoriesKey`
)
INNER JOIN `Portfolios` ON (
`StudyGroups`.`PortfolioKey` = `Portfolios`.`PortfoliosKey`
)
INNER JOIN `SelectedGroups` ON (
`StudyGroups`.`StudyGroupsKey` = `SelectedGroups`.`StudyGroupKey`
)
INNER JOIN `SelectedPortfolios` ON (
`StudyGroups`.`PortfolioKey` = `SelectedPortfolios`.`PortfolioKey`
)
WHERE
(`StudyGroups`.`Active` = true)
AND
(`SelectedGroups`.`IsSelected` = true)
AND
(`SelectedPortfolios`.`IsSelected` = true)
ORDER BY
`StudyGroups`.`GroupName` ASC,
`Members`.`SortName` ASC);
-- select * from `StudyGroupRoster`;
If I run the query AS SHOWN ABOVE, it returns the desired records.
However, if I un-comment the first 7 lines before the SELECT so that it works as designed, I get an error:
Error 1292: Truncated incorrect DOUBLE value: 'Y'
I’ve looked at the table definition, and can’t find any DOUBLE type columns, and I can’t see anywhere the value ‘Y’ is being retrieved from the SELECT.
This used to work, but now it doesn’t. Can you see what is going wrong?