У меня только 1 столбец в моей таблице, в этой таблице есть входы, такие как 990x70, 980x50. Мне нужны значения слева и справа от «x», чтобы рассчитать дюймы этих двух значений. С помощью этого кода я беру только последнюю зарегистрированную запись из базы данных. Как я могу получить все записи? (Примечание:. Я должен использовать переменные в этом проекте)Переменные в T-SQL
declare @Value1 numeric(18,1)
declare @Value2 numeric(18,1)
select
@Value2 = SUBSTRING(
[Values],
CHARINDEX('x', [Values]) + 1,
LEN([Values])) ,
@Value1 = SUBSTRING(
[Values],
1,
CHARINDEX('x', [Values]) - 1)
from myTable
select @[email protected]/(2.54)
select @[email protected]/(2.54)
select @Value1,@Value2 from myTable
Edit: Есть 4 различных размеров в моем столе, и я получаю тот же результат в 4 раза. Я хочу, чтобы получить все результаты не только 1.
Я думаю, это домашнее задание. Первым шагом в решении этой проблемы является публикация вашей фактической проблемы. Вы получаете сообщение об ошибке или получаете неправильный номер? –
На самом деле я видел этот вопрос о домашнем задании раньше, и это типичный вопрос - в этом случае нет смысла использовать переменные - см. Ответ Matthews ниже. –
Основная проблема здесь в том, что схема базы данных не находится в [1NF (первая нормальная форма)] (http://en.wikipedia.org/wiki/First_normal_form "см. Википедия"), что видно из того факта, что OP должен разделить значения из одного столбца на несколько значений. – stakx