Отличное решение. А можно ли в ms sql сделать select с разворотов таблицы - строка, как колонка, при этом название колонки - значение таблицы 1, а данные в колонке - связанная запись из таблицы 2. Попадалась недавно такая задачка с анкетами (вопросы с ответами) , чуть с ума не сошёл, но и близко не дошёл к решению)))))))
а если у нас осталось 6 целых мешков а нужно собрать 10.5? в решение нужно добавить проверку есть ли в наличии количество целых мешков равное целой части запрашиваемого объема
Еще вариант SET @kol_int=TRUNCATE(:kl,0); SET @kol_fraction= if(mod(:kl,1)0,1,0); SET @sql = CONCAT(' ( SELECT * FROM items WHERE article="', :article ,'" AND STATUS=0 AND vol=1 LIMIT ' ,@kol_int, ') UNION ( SELECT * FROM items WHERE article="', :article ,'" AND STATUS=0 AND vol
Спасибо
Super
Спасибо, Святослав! Тут еще ниже несколько вопросов поназадавали. Вероятно, мы еще доработаем запрос :)
Отличное решение. А можно ли в ms sql сделать select с разворотов таблицы - строка, как колонка, при этом название колонки - значение таблицы 1, а данные в колонке - связанная запись из таблицы 2. Попадалась недавно такая задачка с анкетами (вопросы с ответами) , чуть с ума не сошёл, но и близко не дошёл к решению)))))))
а если у нас осталось 6 целых мешков а нужно собрать 10.5? в решение нужно добавить проверку есть ли в наличии количество целых мешков равное целой части запрашиваемого объема
Отлично! Давайте доработаем запрос на следующем видео уроке
Еще вариант
SET @kol_int=TRUNCATE(:kl,0);
SET @kol_fraction= if(mod(:kl,1)0,1,0);
SET @sql = CONCAT('
(
SELECT * FROM items
WHERE article="', :article ,'" AND STATUS=0 AND vol=1
LIMIT ' ,@kol_int,
')
UNION
(
SELECT * FROM items
WHERE article="', :article ,'" AND STATUS=0 AND vol
слишком сложно, можно проще и без UNION