Мне нужно написать код T-SQL, который будет сравнивать между T1.PercentComplete
, который должен быть между T2.StageFrom
и T2.StageTo
. и чем получить T2.Bonus_Prec
и присоединиться к Т1Сравнение между столбцами на разных таблицах
Желаемый результат для T2.Bonus_Prec
является 0.02
, поскольку T1.Percent_Complete
является .27
, который находится между 0
и 1
.
Дело в том, что каждый Key
может иметь различный T2.StageID
между 1-6.
есть только один T2.StageID
это будет 0. (быстрый способ узнать, что есть только 1 бонусная опция) Если у него более 1, оно начнется с 1. (при необходимости это можно изменить)
Т1:
DROP TABLE T1; CREATE TABLE T1( Key VARCHAR(10) NOT NULL PRIMARY KEY ,Percent_Complete_ NUMBER(16,2) NOT NULL ); INSERT INTO T1(Key,Percent_Complete_) VALUES ('Key Vendor',Percent_Complete); INSERT INTO T1(Key,Percent_Complete_) VALUES ('***',0.27);
Т2:
DROP TABLE T2; CREATE TABLE T2( Key VARCHAR(50) NOT NULL ,StageID INT NOT NULL ,Stage_From NUMERIC(10,2) NOT NULL ,Stage_To NUMERIC(8,2) NOT NULL ,Stage_Bonus_Prec NUMERIC(16,2) NOT NULL ); INSERT INTO T2(Key,StageID,Stage_From,Stage_To,Stage_Bonus_Prec) VALUES ('Key',Stage_Id,Stage_From,Stage_To,Stage_Bonus_Prec); INSERT INTO T2(Key,StageID,Stage_From,Stage_To,Stage_Bonus_Prec) VALUES ('***',1,0,0.8,0.02); INSERT INTO T2(Key,StageID,Stage_From,Stage_To,Stage_Bonus_Prec) VALUES ('***',2,0.8,1,0.035); INSERT INTO T2(Key,StageID,Stage_From,Stage_To,Stage_Bonus_Prec) VALUES ('***',3,1,-1,0.05);
ВЫХОД:
+-----+-------------------+--------------------+ | Key | Percent_Complete | [Stage_Bonus_Prec] | +-----+-------------------+--------------------+ | *** | 0.27 | 0.02 | +-----+-------------------+--------------------+
Вот SQLFiddle с этими значениями
Здесь отличное место для начала. http://spaghettidba.com/2015/04/24/how-to-post-a-t-sql-question-on-a-public-forum/ –
Надеюсь, теперь это лучше. Спасибо –
Нет ничего подобного публикации расходных данных ddl и образцов. И это не что иное, как расходные данные ddl и sample. Задача здесь в том, что мы не знаем, что вы пытаетесь сделать, мы не знаем ваших таблиц, и мы не можем видеть вас на экране.Единственное, что мы знаем, это то, что вы опубликовали, что на данный момент почти ничего. Вы заметили часть статьи, на которую я ссылался, размещая инструкции create table и вставляя инструкции для выборочных данных? Если вы сделаете это, мы сможем помочь, иначе мы ничего не сможем сделать. –