ОК, здесь идет. Это, должно быть, очень легко сделать, но все, что я делаю, это вырывание моих когда-либо сжимающихся волос !!!!sql server - добавление двух столбцов из подзапросов
У меня есть SQL-запрос по линиям:
Select A.ID,
A.field
(select vchr_Number from tbl_two B where B.int_ParentId = A.ID) as 'Number1',
(select vchr_Number from tbl_three C where C.int_ParentId = A.ID) as 'Number2',
(Number1 + Number2) as 'Number3'
From tbl_Something A
То, что я пытаюсь сделать, это добавить Number1 и Numnber2 вместе. Мне нужно вернуть все три значения
Поскольку оба значения являются строками, если я просто использую нормальное дополнение «+», он просто объединяет две строки, поэтому, если Number1 = 7 и number2 = 8, то Number3 будет 78, а не 15. Я попытался использовать команду Cast для преобразования строки в целые числа, не уверен в синтаксисе.
предоставленный sql - всего лишь небольшая выборка из общего запроса. поэтому это решение нецелесообразно. Решение должно учитывать это кодирование. Фактический sql имеет длину более 200 строк, как используется в отчете – gilesrpa
Основная идея состоит в том, чтобы хранить данные в качестве исходного типа данных. Таким образом, если вы можете изменить тип данных в своей базе данных, это лучший вариант для вас. Тогда вы никогда не будете вынуждены что-либо конвертировать. –
Хммм, не заставляя себя услышать в данный момент. Могу ли я не просто добавить следующий код: '(выберите vchr_Number из tbl_two B, где B.int_ParentId = A.ID) + (выберите vchr_Number из tbl_three C, где C.int_ParentId = A.ID)', но преобразуйте vchr_number по каждому в int ? – gilesrpa