Troubleshooting on Dynamic SQL in MySQL
Hello,
I am working on to create dynamic sql in MySQL. Bottom line for my query is, I would like to create column for each question and display answer associated with it in row for each application.
This query is keep giving me an error. Can someone look into this and make some suggestion?
Also, is there a way where we can PRINT this dynamic query before execution?
SET @sql = NULL;
SELECT
GROUP_CONCAT(DISTINCT
CONCAT(
'sum(case when x.question_text = ''',
question_text,
''' then x.answer_text end) AS ',
question_text, '`'
)
) INTO @sql
from
(SELECT DISTINCT aa.application_id,aq.question_text,aa.answer_text
from table_a aq
inner join table_b aa on aa.application_question_id = aq.id
where aq.program_id = 136)x;
SET @sql
= CONCAT('SELECT aa.application_id, ', @sql, '
from table_a aq
inner join table_b aa on aa.application_question_id = aq.id
group by aa.application_id;');
PREPARE stmt FROM @sql;
EXECUTE stmt;
DEALLOCATE PREPARE stmt;
Categories
- All Categories
- 1.2K Product Ideas
- 1.2K Ideas Exchange
- 1.3K Connect
- 1.1K Connectors
- 273 Workbench
- 2 Cloud Amplifier
- 3 Federated
- 2.7K Transform
- 78 SQL DataFlows
- 525 Datasets
- 2.1K Magic ETL
- 2.9K Visualize
- 2.2K Charting
- 434 Beast Mode
- 22 Variables
- 511 Automate
- 114 Apps
- 389 APIs & Domo Developer
- 8 Workflows
- 26 Predict
- 10 Jupyter Workspaces
- 16 R & Python Tiles
- 332 Distribute
- 77 Domo Everywhere
- 255 Scheduled Reports
- 66 Manage
- 66 Governance & Security
- 1 Product Release Questions
- Community Forums
- 40 Getting Started
- 26 Community Member Introductions
- 68 Community Announcements
- 4.8K Archive