Avaleht
uus teema   vasta Tarkvara »  Programmeerimine »  Access query sql päring. märgi kõik teemad loetuks
märgi mitteloetuks
vaata eelmist teemat :: vaata järgmist teemat
Hinnavaatlus :: Foorum :: Uudised :: Ärifoorumid :: HV F1 ennustusvõistlus :: Pangalink :: Telekavad :: HV toote otsing
autor
sõnum Saada viide sõbrale.  :: Teata moderaatorile teata moderaatorile
otsing:  
kaupmees
HV kasutaja
kaupmees

liitunud: 27.05.2004




sõnum 18.10.2016 12:40:41 Access query sql päring. vasta tsitaadiga

Tere,
Ühendasin läbi Accessi serveris tabelid päringuga, aga kogused arvutab valesti. Lisan juurde pildi kus näha tabelite ühenduse ja lisan juurde päringu. Päringus read kus on sõna sum arvutab andmed suuremana kui tegelikus.

https://www.upload.ee/image/6261365/Hoovlitoode_ulevaatusleht.JPG

SELECT
job.order_stop,
job.order_id,
Sum(iif(g_stock.location="ProdG",g_stock.qty,0)) AS RawMatStockGlub,
Sum(f_reg.delivery_qty) AS delivery_qty,
Sum(rawmat.qty) AS UsedRawMat,
(IIf([job].[lamella_pieces_no1]=0,0,Round([job].[lamella_pieces_no1]/[job].[lamella_raw_material_no1]))-(Sum([rawmat].[qty])))*-1 AS RawMatMore,
IIf([job].[lamella_pieces_no1]=0,0,Round([job].[lamella_pieces_no1]/[job].[lamella_raw_material_no1])) AS RawMaterial,
Sum(rawmat.qty) AS RawMatSum,
Count(rawmat.qty) AS RawMatCount,
job.queue,
job.lamella_cross_section_no1,
job.lamella_cross_section_no2,
job.machine,
job.work_date,
job.comment,
job.mat_prodg,
job.product,
job.wood & "-" & job.raw_material_thickness & "-" & job.raw_material_width & "-" & job.quality & "-" & job.raw_material_length AS RawMatDimensions,
job.prodg_specification,
job.glue_area,
job.lamella_raw_material_no1,
job.lamella_raw_material_no2,
job.lamella_pieces_no1,
job.lamella_pieces_no2,
job.work_time,
job.customer,
f_orders.high_priority_order,
iif(Len(Nz([item_desc_suggestion],0))<1 And Len(Nz([item_no_suggestion],0))<1 And [request_time]=[request_time_suggestion],0,IIf(Nz([request_time_suggestion],0)=0,0,1)) AS Suggestion

FROM ((tbMolder_Job AS job
LEFT JOIN (tbl_job_done AS done
LEFT JOIN (tbl_job_raw_mat AS rawmat
LEFT JOIN tbl_job_fin_product AS finmat
ON finmat.id = rawmat.tbl_job_done_id)
ON done.id = rawmat.tbl_job_done_id)
ON job.order_id = done.order_no)

LEFT JOIN (forklift_orders_list AS f_orders
LEFT JOIN (forklift_registrations AS f_reg
LEFT JOIN glueboard_stock_rawmat AS g_stock
ON g_stock.forklift_registrations_id = f_reg.id)
ON f_orders.id = f_reg.forklift_orders_list_id)
ON job.order_id = f_orders.order_no)
LEFT JOIN comp_stock AS k_stock
ON k_stock.item_no = f_orders.item_no

WHERE
(job.order_stop = Nz([Tempvars]![OrdersStop],0))
AND (job.order_id Like "*" & nz([Tempvars]![OrdersNo],"*") & "*" )
AND (job.lamella_cross_section_no1 Like "*" & [Tempvars]![OrdersLamCrossSection1] & "*")
AND (job.lamella_cross_section_no2 Like "*" & [Tempvars]![OrdersLamCrossSection2] & "*")
AND (job.machine Like "*" & [Tempvars]![OrdersMachine] & "*")
AND (job.comment Like "*" & [Tempvars]![OrdersComment] & "*")
AND (job.mat_prodg Like "*" & [Tempvars]![OrdersMatProdG] & "*")
AND (job.product Like "*" & [Tempvars]![OrdersProduct] & "*")
AND (job.order_id<>"TL 000" Or (job.order_id)<>"Test")

GROUP BY job.order_stop,
job.queue,
job.lamella_cross_section_no1,
job.lamella_cross_section_no2,
job.machine,
job.work_date,
job.comment,
job.mat_prodg,
job.product,
job.wood & "-" & job.raw_material_thickness & "-" & job.raw_material_width & "-" & job.quality & "-" & job.raw_material_length,
job.prodg_specification,
job.glue_area,
job.lamella_raw_material_no1,
job.lamella_raw_material_no2,
job.lamella_pieces_no1,
job.lamella_pieces_no2,
job.work_time,
job.customer,
job.order_id,
f_orders.high_priority_order,
IIf(Len(Nz([item_desc_suggestion],0))<1 And Len(Nz([item_no_suggestion],0))<1 And [request_time]=[request_time_suggestion],0,IIf(Nz([request_time_suggestion],0)=0,0,1))
ORDER BY
f_orders.high_priority_order DESC ,
job.queue,
job.work_date,
job.work_time;
tagasi üles
vaata kasutaja infot saada privaatsõnum
Fukiku
Kreisi kasutaja
Fukiku

liitunud: 06.11.2003




sõnum 19.10.2016 04:56:01 vasta tsitaadiga

Kas oled proovinud Sum funktsioonid välja jätta, et näeksid kõiki ridu, mis summeerimisse lähevad?

Ei jaksa sisuliselt end sellest päringust läbi närida, aga spekuleerin, et kõigi nende joinide peale tekib sul olukord, kus mõnest tabelist tuleb mitu vastet, mis tõttu summeerimist vajav väli on ka väljundis mitu korda. Kui sa nüüd aru saad, mida ma mõtlen. Ühesõnaga, viska Sum'id välja ja vaata, mis read sealt päringust üldse välja tulevad.

NB! Alati ei peagi üritama kõike ühe megasuure päringuga lahendada. Mitu eraldi ja väiksemat päringut on okei lahendus, eriti kui see koodi loetavamaks teeb. icon_smile.gif

_________________
Foxic is just a simple fox
Enne kui sa küsid oma küsimuse - küsi seda vannipardilt! Rangelt soovitatav enne programmeerimise alafoorumisse uue teema tegemist.
Kommentaarid: 2 loe/lisa Kasutajad arvavad:  :: 0 :: 0 :: 2
tagasi üles
vaata kasutaja infot saada privaatsõnum
kaupmees
HV kasutaja
kaupmees

liitunud: 27.05.2004




sõnum 19.10.2016 15:46:06 vasta tsitaadiga

Tänud, sain asja vist korda.
tagasi üles
vaata kasutaja infot saada privaatsõnum
näita postitusi alates eelmisest:   
uus teema   vasta Tarkvara »  Programmeerimine »  Access query sql päring.
[vaata eelmist teemat] [vaata järgmist teemat]
 lisa lemmikuks
näita foorumit:  
 ignoreeri teemat 
sa ei või postitada uusi teemasid siia foorumisse
sa ei või vastata selle foorumi teemadele
sa ei või muuta oma postitusi selles foorumis
sa ei või kustutada oma postitusi selles foorumis
sa ei või vastata küsitlustele selles foorumis
sa ei saa lisada manuseid selles foorumis
sa võid manuseid alla laadida selles foorumis



Hinnavaatlus ei vastuta foorumis tehtud postituste eest.