Я использую SQL Server 2008 Express и хотел бы сделать следующее.SQL Server 2008 объединяет несколько столбцов для формирования одного столбца
У меня есть две таблицы, Ингредиент и Единица измерения. In Ingredient У меня есть 5 столбцов: id, имя, количество, комментарий, uom_id. Е.
ID NAME QTY COMMENT UOM_ID 1 Garlic 2.00 Finely chopped 1
В UnitOfMeasure У меня есть 2 колонки: ID, имя. E.G.
ID NAME 1 Teaspoons
Я создать новый столбец в Ингредиент под названием «деталь», и я хотел бы, чтобы он населен с комбинацией всех остальных столбцов, включая имя из таблицы unitOfMeasure. E.G. новой таблицы ингредиентов.
ID NAME QTY COMMENT UOM_ID DETAIL 1 Garlic 2.00 Finely chopped 1 2 Teaspoons of Garlic (Finely chopped)
У меня есть базовый SQL, который я сбил, что выглядит так.
update INGREDIENT set detail = cast(quantity as varchar) + ' ' + name + coalesce(' (' + COMMENT + ')', '')
Это вид работ, но имеет несколько проблем. Во-первых, qty выходит так. 2.00 Я хочу, чтобы иметь возможность отказаться от .00, но есть обстоятельства, когда это может быть 0,5, поэтому я не могу просто округлить сумму.
Вторая проблема в том, что поле комментариев пустым. Я получаю «()». Если поданные комментарии пустые, я не хочу отображать скобки.
Последняя проблема заключается в том, что я не уверен, как сделать соединение с таблицей UnitOfMeasure.
Если вы можете решить хотя бы одну из этих проблем, я был бы очень благодарен. Спасибо.
Вы хотите запрос, который отображает в этом случае или сценарий на самом деле обновить таблицу или вы создаете вид или что? – Leeish
Что вы хотите отобразить для 0.5? Я смущен, почему у значений количества будут десятичные знаки? –
@ Leeish - предпочел бы SQL. – Bruce