2012-04-04 5 views
0

Если тип транзакции клиента не указан в базе данных
Если модельный год меньше или равен 2 годам, то транзакция тип должен быть обновлен в качестве гарантии.Обновить столбец в SQL Server 2008 - SSIS

Оставшиеся 60% данных клиента должны быть обновлены как заказчик , а 40% данных клиента должны быть обновлены в качестве гарантии случайным образом у каждого дилера.

У меня есть таблица на модельный год таблицы этой структуры:

SlNo VehicleNo ModelYear 
---- --------- --------- 
1  AAAD1234 2012 
2  VVV023333 2008 
3  CRT456  2011 
4  MTER6666 2010 

Можно ли достичь этого с помощью SSIS ??

Я пробовал запрос. Пожалуйста, помогите исправить это

select 
    vehicleNo, Modelyear, 
    case 
     when DATEDIFF(year, ModelYear, GETDATE()) <= 2 then 'Warranty' END, 
    case 
     when COUNT(modelyear) * 100/(select COUNT(*) from VehicleModel) > 2 then '100%' end, 
    case 
     when COUNT(modelyear) * 40/(select COUNT(*) from VehicleModel) > 2 then '40%' end 
from 
    vehiclemodel 
group by 
    vehicleNo, Modelyear 

Выход

vehicleNo Modelyear (No column name) (No column name) (No column name) 
--------- --------- ---------------- ---------------- ---------------- 
AAAD1234 2008  NULL    100%    40% 
VVV023333 2010  Warranty   100%    40% 
CRT456  2011  Warranty   100%    40% 
MTER6666 2012  Warranty   100%    40% 
+0

какой выходной вы ожидаете? – Arion

+0

-вниз голосовать любимую доли [г +] Доля [фб] Доля [Tw] \t Если тип сделки Клиента не упоминается в базе данных Если модель года меньше или равен 2-х года, чем тип сделки должны быть обновлены в качестве гарантии. Оставшиеся 60% данных клиента должны быть обновлены с учетом оплаты Клиента, а 40% данных клиента должны быть обновлены в качестве гарантии произвольно у каждого дилера. Спасибо – Gallop

+0

Я имею в виду, можете ли вы изменить свой запрос и показать таблицу вывода? – Arion

ответ

1

, что именно вы пытаетесь сделать с SSIS? Где вы перемещаете данные и куда их вставляете?

Если вам нужен только запуск этого запроса, вам не нужен SSIS. Вы можете сделать эту логику в SQL. Если вам нужно вставить это в другую таблицу или базу данных, я бы тоже сделал вычисления на SQL (как вы это делали) и использовал его как источник для компонента OleDBSourtce, а затем ввел его в пункт назначения.

Я думаю, вам нужно предоставить дополнительную информацию, чтобы мы могли помочь вам

+0

Я хочу проверить вышеупомянутые условия, а затем обновить столбец типа транзакции в таблице транзакций в качестве Гарантии, если автомобиль был приобретен до 2 лет. будут считаться оставшиеся автомобили, срок которых составляет> 2 года, и из них 60% будут обновлены в качестве оплаты за клиента и останутся 40%, как и другие – Gallop

+0

humm ok, но я не понимаю, зачем вам нужен SSIS. Кажется, что вы можете делать все, используя SQL-запросы. В чем именно проблема?Разве ваш запрос не работает? Если вы не можете опубликовать свою структуру таблицы? – Diego

+0

Бизнес-правила являются частью пакета SSIS, поэтому подумал, что может быть способ решить проблему с использованием компонентов SSIS. Если это можно сделать, только с помощью запроса с любезной помощью с одним ... Спасибо – Gallop

Смежные вопросы