Nezůstávejte u svého současného designu. Vaše opakující se skupiny jsou nepohodlné a omezující... Co se stane, když někdo nahraje 151krát? Normalizujte tuto tabulku tak, abyste měli jeden od každého typu na řádek místo 150. Tímto způsobem nebudete potřebovat mapování, protože můžete bez obav vybrat SAPDATA z positioncol, pokud je 1-150.
Pravděpodobně budete chtít tabulku PROJECTS s ID, tabulku PROJECT_UPLOADS s ID a FK do tabulky PROJECTS. Tato tabulka by měla mít pozici, zdrojové datum, vzorec a IsActive podle vašeho výše uvedeného případu použití.
Pak byste mohli dělat věci jako
vybrat p.jméno, pozici z PROJEKTŮ p vnitřní spojení PROJECT_UPLOADS pu na pu.projektu =p.id WHERE pozice ='SAPDATA'
atd.