Вы можете по количеству видов динамически можете создать такой текст запроса в PHP:
select t.department_id,
t1.item as type_1,
t2.item as type_2,
...
from t
left join (select t.department_id, t.item from t where t.type_id = 1) t1 on t1.department_id = t.department_id
left join (select t.department_id, t.item from t where t.type_id = 2) t2 on t2.department_id = t.department_id
...
where (SUBSTRING_INDEX(t.item, '_', -1) + 0 = SUBSTRING_INDEX(t1.item, '_', -1) + 0 or t1.item is null)
and (SUBSTRING_INDEX(t.item, '_', -1) + 0 = SUBSTRING_INDEX(t2.item, '_', -1) + 0 or t2.item is null)
...
-- тут нужно получить равенство всех субиндексов 0000i от t.item сравнить со всеми tn.item
order by t.department_id, SUBSTRING_INDEX(t.item, '_', -1) + 0
Его выполнить, и сразу получить нужное форматирование, но нужно создать индекс по столбцу item, используя функцию SUBSTRING_INDEX(t1.item, '_', -1) + 0, чтобы выражение в where не было узким местом в скорости выполнения запроса. Либо добавить столбец в базе для 0000i и заполнять его и индексировать как есть.
Abraham Chanski, образ 2k10 весит чуть больше 4 Гб, значит нужна флешка не менее 8 Гб.
В этом сборнике утилит есть Paragon Hard Disk Manager. В нем есть все, что нужно для копирования и редактирования разделов дисков.
Первая ошибка, что вы используете дисковую утилиту в системе, которая загружена из раздела, над которым проводят манипуляции. Естественно, у загруженной ОС запущено куча блокировок и разграничено все по правам доступа, что не позволяет читать все без разбора.
Необходима загрузочная версия дисковой утилиты, которая пишется на флешку и загружается с нее отдельно.
В этом варианте вы сможете делать с разделами все что угодно, и действующая ОС не будет в этом мешать.
Покажите скриншоты с разметкой разделов этих двух дисков.
Если после выполнения операции образовались новые разделы, то вы не клонировали разметку, а что-то другое сделали.
Обычно, максимум, флаг загрузочного раздела теряют, что можно восстановить одной командой.
tajfun_rt, убрать у пользователя поле ввода первичного ключа. Добавить на первичный ключ свойство автоинкремента. Пользователю по постфакту внесения в базу сообщать под каким ID сохранилась запись.
("Ваша заявка № 101 принята в обработку"). Если 100 пользователей отправят запрос, то СУБД сама их выстроит в очередь, и раздаст последовательно ID записям.
От сложности сообщения и его подготовки будет зависеть то, насколько сложна должна быть микросхема до wifi-модуля. Если сообщение фиксированного содержания, и не требует какой-то подготовки, в виде авторизации и рукопожатий, то такое сообщение может хранить и отправлять даже ATTiny85.
Тут еще проблема, что мало активировать эту микросхему, нужно сначала запустить wifi-модуль, дать время ему авторизоваться в сети, получить статус, что он авторизован, а потом уже слать сообщение.
Outlook 2010 и выше, превысили 50 Гбайт pst файла?
Или вы просто не можете поставить почтовик (не обязательно Outlook).
Все они затягивают корреспонденцию на комп, в некоторых, правда, есть ограничения на макс. размер архива.
А поверх http нет протокола авторизации в сервисе с получением временного токена для отправки команд?
Точно не нужен SSL?
А модуль wifi кнопки должен держать связь с роутером 24/7 ? - насколько допустимы разрывы связи?
Deldry18, можно протестировать в memtest86.
Но я бы еще посмотрел, какие частоты использует система при старте с одной оперативкой (какой XMP профиль, если мат. плата современная).
Но нужно знать точную модель процессора, материнской платы, и оперативной памяти (помимо объема, нужен номер поколения DDR, список частот, которые заявляет производитель).
проблема тут не в комплектующих а в Процессоре 14900k,
Ну, тут нужно видеть, есть ли тротлинг, либо понижение частоты ниже плинтуса на ровном месте.
Раз уверенны, что это проц. то обратитесь в какую-нибудь мастерскую, чтобы подкинули слабый, но заведомо рабочий проц. под 1700 соккет, например Celeron G6900. Если все оживет, то да у вас что-то не то с процем.
PS: Вообще, не понимаю смысл ставить процы выше 700 индекса в соккет 1700. Дикий оверпрайз, а пользы ноль, кроме как дополнительный геморрой с наладкой.
Его выполнить, и сразу получить нужное форматирование, но нужно создать индекс по столбцу item, используя функцию SUBSTRING_INDEX(t1.item, '_', -1) + 0, чтобы выражение в where не было узким местом в скорости выполнения запроса. Либо добавить столбец в базе для 0000i и заполнять его и индексировать как есть.