У меня есть две таблицы: одна - programs
, а другая - bookprograms
. Таблица programs
- это то место, где вы получаете название программы. Строки в этой таблице могут быть добавлены или отредактированы.Переводить динамические строки в столбцы
Я использовал запрос ниже, но он не отражает, если есть новая программа:
SELECT MAX(IF(programs = 'cla', title, NULL)) cla,
MAX(IF(programs = 'csm', title, NULL)) csm
FROM bookprograms
GROUP BY title
Структура первой таблицы.
╦════════════╦═════════════╗
║ ID ║ Programs ║
╬════════════╬═════════════╣
║ 1 ║ cla ║
║ 2 ║ csm ║
╩════════════╩═════════════╝
Вторая таблица, где я храню книги и соответствующую ей программу.
╦════════════╦═════════════╗
║ Title ║ Programs ║
╬════════════╬═════════════╣
║ title1 ║ cla ║
║ title2 ║ csm ║
║ title3 ║ cla ║
╩════════════╩═════════════╝
Как мне придумать этот результат?
╦════════════╦═════════════╗
║ cla ║ csm ║
╬════════════╬═════════════╣
║ title1 ║ title ║
║ title3 ║ ║
╩════════════╩═════════════╝
Спасибо! Это действительно большая помощь. –