sql агрегаты екі бөлімшелерде жоқ

менде бар

items  ---- supporders ---- suppincoming 
=====       ==========      ============
ItemID      OrderID         OrderID
            ItemID          IncQty
            OrderQty
            SODate

және

items  ---- orderrows ---- orders
=====       =========      ======
ItemID      ItemID         OrderID
            OrderID        OrderDate
            ORQty

және want to sum ORQty, OrderQty және IncQty per item.

If I join all tables, the two "branches" from item produce a kind of cross-join және the amount goes up the roof.

Ішкі сұраулар дұрыс мәндерді береді, бірақ өте күшті.

EDIT: Мысалға арналған MS-Access бағдарламасының сілтемесін қараңыз.

Кез-келген жақсы тәсілі бар ма?

Құрметпен, / t

0
POC қол жетімді stuff.pomada.se/branches.mdb (2000 форматына қатынау). Түсіндірілгендей, үш сұрақ: «сатылған_және_бұлданған» төбеге түседі.
қосылды автор Teson, көзі
@MichaelFredrickson сілтемесін қараңыз.
қосылды автор Teson, көзі
Ішкі сұрауларды пайдаланған сұрауыңыздың қандай түрін көрсете аласыз? Сонымен қатар, бұл РДБМС үшін қандай?
қосылды автор Michael Fredrickson, көзі
Ішкі сұраныстың нұсқасын оңтайландыруға әрекет жасауды ұсынамын. Сұрауыңызбен, кестелеріңізбен (бар жерде) және сізде бар индекстермен жаңа сұрақ жіберуіңізге болады.
қосылды автор ypercubeᵀᴹ, көзі

2 жауаптар

Сұрау ішкі сұрауларсыз шығарылмайды, және, анық, кестелермен байланыстырылған MS-accessSQL-server(firebird) өнімділік шошқа болып табылады.

Access бағдарламасынан параллелді сұрауды орындау өнімділік мәселелерін шешеді.

рахмет / t

0
қосылды
select itemId, count(orderQty) as OrderQty, count (incQty) as IncQty
from Items I, supporders S, suppincoming SI
where I.itemId = S.ItemId AND S.OrderId = SI.OrderId
group by I.itemID

select itemId, count(ORQty)
from items I, orderRows O
where I.itemId = o.itemId
group by itemId

Мен осы сұрауларды көрмедім, кез келген қателіктерді кешірдім ..... Мен жұмыс істейді деп үміттенемін

0
қосылды
Рахмет, бірақ мен сізді дұрыс емес деп санаймын. Мен бір сомаға екі соманы алғым келеді (бірлік емес).
қосылды автор Teson, көзі
бұл жағдайда біз қосымша сыртқы сұраныстың біреуін (Query1) a (Query1) а (Query2) таңдап алуымыз керек b Left Сыртқы қосылым itemId
қосылды автор Zohaib, көзі
Сұрау алдымен санақтарды таңдап алынады, содан кейін қандай кесте қосымша жолдар күтілуіне қарай сол жаққа немесе оң жаққа біріктіруге болады ..... бірақ үш сұраулар орындалады.
қосылды автор Zohaib, көзі