I see it! Tito, you have to "pivot" those fields out of your "custom fields/custom field values" table(s). One of the best places to do that is into a temporary table so that you can join your pivoted rows into the rest of the report. I am assuming that the `eventum_custom_field` table has a field something like `issue_id` that associates a field with an issue. I am also assuming that there is only one custom field of any one type per issue.
CREATE TEMPORARY TABLE tmpCustFields SELECT cf.issue_id , MAX(if(fld_id=47,cfo.cfo_value,NULL)) as ProductName , MAX(if(fld_id=59,cfo.cfo_value,NULL)) as ProjectName , MAX(if(fld_id=4,cfo.cfo_value,NULL)) as ChangeRequester , MAX(if(fld_id=1,cfo.cfo_value,NULL)) as ChangeType , MAX(if(fld_id=2,cfo.cfo_value,NULL)) as ReqCompletionDate , MAX(if(fld_id=46,cfo.cfo_value,NULL)) as BSALead , MAX(if(fld_id=37,cfo.cfo_value,NULL)) as Developer FROM eventum_custom_fields cf LEFT JOIN eventum_custom_field_options cfo ON cf.cf_id = cfo.cfo_custom_field_id GROUP BY cf.issue_id; You will need to modify the column names in the ON clause to match the actual names of the columns that you need to relate an option to a field or an issue (whichever works). This query builds your middle columns into a table of their own. I hope that once you get them this far, JOINing this temp table to the rest of the tables you need to build your query will look pretty straight-forward. Look at the data to see what we did.... SELECT * from tmpCustFields limit 100; Hope that helps! Shawn Green Database Administrator Unimin Corporation - Spruce Pine "Kraer, Joseph" <[EMAIL PROTECTED]> wrote on 12/06/2005 10:39:01 AM: > Gleb, > > What I need to have is a total of 16 columns: issue ID, priority, > assigned (to), project name, category, status, last update date, > summary, product name, project name (not the same as before), change > requester, change type, requested completion date, lead, developer, > impacted dept. > > I have no problems generating the first eight or the last columns. The > seven in between are the issue as they are not columns per se. They are > cells in different tables. I need to extract the contents of certain > cells, based on certain IDs, to be used as the column headings in the > output to my query. Then, I need to look into other tables to fill > those columns. This is what I need help with: how do I generate those > columns? I guess they could be generated separately and then I could > put both of my outputs together. Unfortunately, time is running out. > > TIA, > > Joseph "Tito" Kraer > Business Systems Analyst > Taylor, Bean & Whitaker Mortgage Corp > > -----Original Message----- > From: Gleb Paharenko [mailto:[EMAIL PROTECTED] > Sent: Tuesday, December 06, 2005 6:52 AM > To: mysql@lists.mysql.com > Subject: Re: Newbie Question: listing open issues regardless of project > > Hello. > > > > > Please, I don't need comments telling me that I'm missing the > semicolon > > or that comments such as "doesn't work" are worthless. I know there's > > something inherently wrong with this query (obviously . . . since it > > doesn't give me the results that I am looking for). Does anyone have > a > > constructive comment as to how to do this? > > Please, could you answer what are you going to get in the last columns. > You've said that you had problems with the last seven columns, but from > the logic of your query I see that you just want a column, which changes > its value depending on the value in other field. Am I correct? Please > provide a sample output (what you want to see in the results) in case > I'm wrong. Now I'm not talking about syntax, but rather about sense > of the query. > > Kraer, Joseph wrote: > > > I am sending this message to both Eventum and MySQL support lists. > > > > I am trying to write a select statement in the MySQL Query Browser (v. > > 1.1.10) on my Eventum (v. 1.4) database; MySQL version is 4.0.21 (PHP > is > > 4.3.10). My goal is to list certain data from all open issues, across > > projects, as well as listing some issue details contained in custom > > fields. I don't have a problem getting the data for the first eight > > columns of my query. My problem lies with listing the next seven > > columns, which come from custom fields. I thought of using a PHP > script > > but this is a one-time deal and my knowledge of PHP is as poor as that > > of MySQL. > > > > As Eventum users may know, headings for custom fields are extracted > from > > cells in the eventum_custom_field_option table. I thought that IF > > statements would do the job, but I get a syntax error (1064). > > Obviously, they are not the way to go. Nevertheless, here's the > > complete query so you can get an idea of where I want to go: > > > > SELECT DISTINCT > > eventum_issue.iss_id AS "Issue ID", > > eventum_project_priority.pri_title AS "Priority", > > eventum_user.usr_full_name AS "Assigned", > > eventum_project.prj_title AS "Project Name", > > eventum_project_category.prc_title AS "Category", > > eventum_status.sta_title AS "Status", > > eventum_issue.iss_updated_date AS "Last Update Date", > > eventum_issue.iss_summary AS "Summary", > > > > IF eventum_custom_field.fld_id =3D "47" > > THEN eventum_custom_field_option.cfo_value AS "Product > > Name" > > ELSE IF eventum_custom_field.fld_id =3D "59" > > THEN eventum_custom_field_option.cfo_value AS "Project > > Name" > > ELSE IF eventum_custom_field.fld_id =3D "4" > > THEN eventum_custom_field_option.cfo_value AS "Change > > Requester" > > ELSE IF eventum_custom_field.fld_id =3D "1" > > THEN eventum_custom_field_option.cfo_value AS "Change > > Type" > > ELSE IF eventum_custom_field.fld_id =3D "2" > > THEN eventum_custom_field_option.cfo_value AS "Requested > > Completion Date" > > ELSE IF eventum_custom_field.fld_id =3D "46" > > THEN eventum_custom_field_option.cfo_value AS "BSA Lead" > > ELSE IF eventum_custom_field.fld_id =3D "37" > > THEN eventum_custom_field_option.cfo_value AS > > "Developer" > > > > FROM eventum_issue, eventum_custom_field, eventum_custom_field_option > > INNER JOIN > > eventum_project_priority, > > eventum_issue_user, > > eventum_user, > > eventum_project, > > eventum_project_category, > > eventum_status > > eventum_issue_custom_field > > WHERE eventum_issue.iss_pri_id =3D eventum_project_priority.pri_id > > AND eventum_issue.iss_id =3D eventum_issue_user.isu_iss_id > > AND eventum_issue_user.isu_usr_id =3D eventum_user.usr_id > > AND eventum_issue.iss_prj_id =3D eventum_project.prj_id > > AND eventum_issue.iss_prc_id =3D eventum_project_category.prc_id > > AND eventum_issue.iss_sta_id =3D eventum_status.sta_id > > AND (eventum_issue.iss_closed_date IS NULL > > OR (eventum_issue.iss_closed_date IS NOT NULL > > AND (eventum_issue.iss_sta_id !=3D "5" > > OR eventum_issue.iss_sta_id !=3D "6" > > OR eventum_issue.iss_sta_id !=3D "9"))) > > ORDER BY eventum_issue.iss_id > > > > Please, I don't need comments telling me that I'm missing the > semicolon > > or that comments such as "doesn't work" are worthless. I know there's > > something inherently wrong with this query (obviously . . . since it > > doesn't give me the results that I am looking for). Does anyone have > a > > constructive comment as to how to do this? > > > > Thank you very much in advance, > > > > Joseph "Tito" Kraer > > Business Systems Analyst > > Taylor, Bean & Whitaker Mortgage Corp > > > > > > > -- > For technical support contracts, goto > https://order.mysql.com/?ref=ensita > This email is sponsored by Ensita.NET http://www.ensita.net/ > __ ___ ___ ____ __ > / |/ /_ __/ __/ __ \/ / Gleb Paharenko > / /|_/ / // /\ \/ /_/ / /__ [EMAIL PROTECTED] > /_/ /_/\_, /___/\___\_\___/ MySQL AB / Ensita.NET > <___/ www.mysql.com > > -- > MySQL General Mailing List > For list archives: http://lists.mysql.com/mysql > To unsubscribe: > http://lists.mysql.com/[EMAIL PROTECTED] > > > -- > MySQL General Mailing List > For list archives: http://lists.mysql.com/mysql > To unsubscribe: http://lists.mysql.com/[EMAIL PROTECTED] >