Есть две таблицы. В первой хранятся данные, во второй хранятся атрибуты этих данных. В первой таблице есть столбец attr_id в котором хранится id записи во второй таблице. При объединении мне нужно присоединить справа все столбцы второй таблицы исключив id.
Я бы мог перечислить все необходимые столбцы, но их может быть много со временем.
SELECT data.*, attributes.hidden, attributes.state
FROM data
RIGHT JOIN attributes
ON attr_id = attributes.id
WHERE (data.mark = '0')
Каким образом мне построить запрос к БД?
К сожалению, в MySQL нет прямого способа исключить какую-то колонку из выдачи.
Один из воркэранудов, если брать чистый SQL — это получить все колонки таблицы из INFORMATION_SCHEMA.COLUMNS, затем удалить оттуда ненужные и вставить получившийся список полей в SQL запрос.
Для запроса к одной таблице это будет выглядеть примерно так:
SET @sql = CONCAT('SELECT ', (SELECT GROUP_CONCAT(COLUMN_NAME) FROM information_schema.columns WHERE table_schema = '<>' AND table_name = 'data' AND column_name NOT IN ('attr_id')), ' from data');
PREPARE query1 FROM @sql;
EXECUTE query1;
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Нужна помощьИспользую gulp-inject для дробления html, после инъекции кусков кода в index
Как убрать фон белый у этой кнопки? То что серое это и есть фон заданный ей через background-color,но фон у нее не изменился(который белый)