Корпоративные базы данных - статьи

       

Менеджер хочет узнать...


  • Как найти заказы на сумму более чем $500, место доставки которых находится в пределах 50 км от заказчика

    select C.cname from customer C, order O where Within50 (C.location, O.iocation) = T and O. Amount >500

  • Как найти заказы с пометкой "срочно", РО Date которых находится в пределах 4 дней от Order Date

    select cname, orderID from order where FaxDateDiff(PO_fax,date)
    *Within50() и FaxDateDiff() являются определяемыми пользователем функциями


    • Как найти маршруты, находящиеся в пределах зоны с почтовым кодом 77056
      select R.route from route R, facility F where GeoZip (F.location) = 77056 and whithin (F.location, R.route_pts)


      Как найти маршруты, общая длина которых превышает 100 км, с пометкой 'priopity'
      select route from route where RouteLength(route_pts) > 100 and ContainsWords(route_notes,'priority') = T

    *GeoZip(), Within(), RouteLength() являются определяемыми пользователем функциями





    • Как найти компоненты от поставщика XYZ в филиалах, расположенных в пределах 77056 почтовой зоны
      select component_id from component C, facility F where GeoZip (F.location) = 77056 and C. Fname = F.fname and comp_id. Name like 'XYZ'; (comp_id is a ROW TYPE)
    • Где найти чертежи компонент, которые нуждаются в техническом обслуживании (временной ряд), помеченные "трудно"
      select schematic from component where MaintlsDue= T and ContainsWords(comp_notes,'difficult') = T;
    • Найти компоненты, находящиеся в пределах пяти метров от места утечки
      select component_id from component where DistWithin(comp_loc,(300,500))

    *GeoZip(),MaintlsDue() иDistWithin() являются определяемыми пользователем функциями



    Содержание раздела