Решение Богдана - очень хорошее решение, и если бы у меня была ваша проблема, я бы реализовал его решение, но если вы настаиваете на одном столбце в одной таблице для списка покупок, я думаю, что вы должны использовать подстроку
например,
CREATE TABLE grocery_list (
[groceryItem] varchar(100)
);
Insert into grocery_list ([groceryItem]) values ('(c)Fruit')
Insert into grocery_list ([groceryItem]) values ('(p)Fuji Apple')
Insert into grocery_list ([groceryItem]) values ('(c)Shampoo')
Insert into grocery_list ([groceryItem]) values ('(c)Dove Energize Shampoo')
и для доступа к вашей подстроке таблицы первые 2 символа, чтобы проверить тип вашего элемента
Select [item] = case when substring(groceryItem,2,1) = 'c' then
right(groceryItem,len(groceryItem) - 3) + ' (Category)'
when substring(groceryItem,2,1) = 'p' then
right(groceryItem,len(groceryItem) - 3) + ' (Product)'
end
from grocery_list
Это даст вам следующий результат
**item**
Fruit (Category)
Fuji Apple (Product)
Shampoo (Category)
Dove Energize Shampoo (Category)