15.09.2003, 16:31 | #1 |
Участник
|
Calculate Price for Customer
Народ !!!! Помогите!!!
Кто-нибудь знает как сделать запрос/процедуру в MS - SQL-e чтобы указав AccountNum клиента получить цены на товары (включая скидки, договорённые цены и т.д.) Например "SELECT * FROM get_price_for_customer(77);" ??? Там этих таблиц немеренно aaaaaaaaaaa БУДУ ОЧЕНЬ БЛАГОДАРЕН !!!!!!!!!!!!!!!! |
|
15.09.2003, 16:54 | #2 |
Участник
|
SELECT * FROM get_price_for_customer(77) Where AccountNum=145
Или я не так понял вопрос? Может быть, требуется выполнить многотабличный запрос? Уточните, пожалуйста.
__________________
Александр Игнатьев |
|
15.09.2003, 17:27 | #3 |
Участник
|
Re
Да необходимо правильно связать таблици, в которых прописаны скидки
InventTable - список товара InventTableModule - список цен (ModuleType=2 - продажная цена) CustTable - клиенты, у которых есть группа скидок и личные торговые соглашения PriceDiscGroup - Описания групп скидок и прайс листов PriceDiscTable - Скидочная таблица, где для меня что-то уж совсем намудрено .... и т.д. Каким образом мне можно написать запрос в SQL`e? чтобы получить цены на товары для клиента, например, с номером (AccountNum=77) ? Т.е. как связать эти таблици? я уже свернул голову |
|
15.09.2003, 17:59 | #4 |
Участник
|
То есть вам необходимо написать многотабличный запрос. Таблицы связываются по первичным и внешним ключам, скажем так:
InventTable - первичный ключ ItemNo (номер товара) InventTableModule - первичный ключ NoPrice (No цены товара) -внешний ключ ItemNo (номер товара) -Price (цена) CustTable - первичный ключ AccountNo (номер клиента) - внешний ключ DiscNo (номер скидки) PriceDiscGroup - первичный ключ DiscNo(номер скидки) -поле DiscValue (величина скидки) Select CustTable.CustNo as Cust, InventTableModule.Price as Price, (InventTableModule.Price - ( 1 - PriceDiscGroup.DiscValue)) as PriceWithDisc From InventTable, InventTableModule, CustTable, PriceDiscGroup Where CustTable.AccountNo = 75 And InventTable.ItemNo = InventTableModule.ItemNo And CustTable.DiscValue = PriceDiscGroup.DiscValue Это не непосредственный ответ на ваш вопрос я просто постарался смоделировать ситуацию близкую к вашей, чтобы показать как делать многотабличные запросы. В предложение Where связываются таблицы, и отбираятся климент по его номеру. Можно совет: прочитайте книжку по языку SQL, это будет очень неплохо.
__________________
Александр Игнатьев |
|
15.09.2003, 18:24 | #5 |
Участник
|
Да и еще на будущее, дед Мозай, вопросы не здесь задаются
Ну я понимаю, вы у нас на форуме впервые и не разобрались еще что к чему
__________________
Александр Игнатьев |
|
16.09.2003, 23:18 | #6 |
Участник
|
Перенес вопрос в тему "Программирование в Аксапта (доработка)"
|
|
|
Опции темы | Поиск в этой теме |
Опции просмотра | |
|