Rave Report - Master Field és Details

Rave Report - Master Field és Details
2011-09-23T08:14:20+02:00
2011-09-26T17:09:24+02:00
2022-11-23T04:20:52+01:00
magyargergo
Készítettem egy jelentést Rave Reporttal és azt szeretném megcsinálni, hogy csak az alá írja ki a Details-t ami megegyezik a Details egyik oszlopa a Master másik oszlopával. Van egy slq lekérdezés és azt írtam be a Details MasterKey tulajdonságával.

Select T1.Megnevezes From jelentes T1 INNER JOIN jelentes1 T2 ON T1.Megnevezes = T2.nev

Megj.: A T2.nev nincs kiíratva a jelentésre.
Mutasd a teljes hozzászólást!
Na akkor...

1. A jelentés táblád neve miért nem rendelt_pizzak? Könnyebb lenne felfogni és megérteni a táblát.

2. A rendelés (jelentés) tábládban miért nincs valami rendelés azonosító? Hogy fogod később megkülönböztetni a rendeléseket egymástól? Ebben a formában ugyanis egyet rendelésed lehet.

3. A darab és a kedvezmény oszlopok miért szövegesek?

4. A jelentés1 táblád neve lehetne rendelt_feltetek, az ok ugyanaz, mint az előző tábla esetében.

5. A darab és a kedvezmény itt is szöveg típusú, miért?

6. A két táblát nem név alapján kellene összekapcsolni, mi van ha később két külön ember is rendel ugyanolyan pizzát? A feltételek duplikálva lesznek, mivel név alapján kötöd. Inkább a jelentés1 táblában fel kellene venni még egy azonosítót, ami a jelentés tábla megfelelő azonosítójára mutatna. Például rendelek egy X nevű pizzát, létrejön egy rekord a jelentes tábládban 1-es id-val. Így a jelentes1 tábládban azoknál a rekordoknál amik ehhez jönnek létre (ennek a pizzának a feltétjei), eltárolhatnád mondjuk egy pizza_rendeles_id oszlopban az azonosítót (jelen példában az 1).

7. Ha ezekkel megvagy, és ha jól értem (a mellékelt Névtelen.jpg alapján), hogy a célod az lenne, hogy kiszedni a rendelt pizzákat a jelentés táblából, majd a jelentes1-ből kiszedni az előző táblából lekérdezett pizzákhoz tartozó minden feltétet, akkor valami ilyen lekérdezést kellene csinálnod:

select Darab ,Ar ,Megnevezes ,kedv ,Ertek from jelentes where rendeles_szam = 1 union select sum(darab01) as Darab ,min(ar01) as Ar ,feltetel as Megnevezes ,sum(kedv01) as kedv ,sum(ertek01) as Ertek from jelentes1 where pizza_rendeles_id in ( select id from jelentes where rendeles_szam = 1 ) group by feltetel

8. Amennyit segítettem már ebbe a pizzás programodba, hogy ha elkészülsz, illene küldened egy ajándék pizzát :)
Mutasd a teljes hozzászólást!

Tetszett amit olvastál? Szeretnél a jövőben is értesülni a hasonló érdekességekről?
abcd