MySQL Forums
Forum List  »  German

Re: Abfrage in einer Hierarchie
Posted by: Gerald Koch
Date: September 17, 2010 06:27AM

Hey danke,

hab ich auch gerade schon gemacht. das problem ist, es geht nicht für JPA zu mappen. :-/
also hab ich einfach mal diese demoralisierende denormalisierte tabelle zusätzlich als queryBooster eingebunden. muss nur schauen, dass ich das ding dann irgendwie mitpflege... :-/

ein kleines bischen statistik:
kunde: 6.000 datensätze
warenkorb: 21.961 datensätze
assoziation: 703.166 datensätze
ware: 10.958 datensätze

denormalisiert:
kunde: 6.000 datensätze
warenkorb_turbo: 703.166 datensätze
ware: 10.958 datensätze

die abfrage ist jetzt übrigens ungefähr so (verständlich gemacht; beispiel für 4 waren in der abfrage):
SELECT * FROM kunde
WHERE kunde_TYPE_ID = 3               #ignoriert das mal, das sind zusätzliche einschränkungen
AND kunde_CATEGORY_TYPE_ID = 3000      # - || -
AND kunde_HIDDEN = 0
AND kunde_ID IN 
(
    SELECT kunde_ID FROM wahrenkorb_turbo    #die neue assoziation (kunde_id, wahrenkorb_id, ware_id)
    WHERE wahrenkorb_TYPE_ID = 1             
      AND wahre_ID IN 
      (
          select wahre_ID from wahre 
          where wahre_TYPE_ID=104  #gemüse
          AND (ware_STRING='Karotte' OR ware_STRING='Kartoffel')
      )    
) 
AND kunde_ID IN 
(
    SELECT kunde_ID FROM wahrenkorb_turbo    
    WHERE wahrenkorb_TYPE_ID = 1             
      AND wahre_ID IN 
      (
          select wahre_ID from wahre 
          where wahre_TYPE_ID=109  #obst
          AND (ware_STRING='Apfel')
      )
) 
AND kunde_ID IN 
(
    SELECT kunde_ID FROM wahrenkorb_turbo   
    WHERE wahrenkorb_TYPE_ID = 1             
      AND wahre_ID IN 
      (
          select wahre_ID from wahre 
          where wahre_TYPE_ID=113  #haushaltswaren
          AND (ware_STRING='Topf' OR ware_STRING='Schüssel' OR ware_STRING='messer')
  
      )
) 
AND kunde_ID IN 
(
    SELECT kunde_ID FROM wahrenkorb_turbo
    WHERE wahrenkorb_TYPE_ID = 1             
      AND wahre_ID IN 
      (
          select wahre_ID from wahre 
          where wahre_TYPE_ID=431  #Elektronikwaren
          AND (ware_STRING='Radio')
      )
)



Edited 2 time(s). Last edit at 09/17/2010 07:20AM by Gerald Koch.

Options: ReplyQuote


Subject
Views
Written By
Posted
2433
September 14, 2010 09:24AM
1381
September 17, 2010 02:13AM
Re: Abfrage in einer Hierarchie
1265
September 17, 2010 06:27AM
1246
September 17, 2010 11:11AM
1345
September 17, 2010 11:56AM
1208
September 20, 2010 03:08AM
1272
September 20, 2010 03:48AM
1161
September 20, 2010 04:11AM
1220
September 20, 2010 04:49AM
1210
September 20, 2010 05:22AM
1304
September 20, 2010 05:30AM
1322
September 20, 2010 05:54AM
1303
September 20, 2010 06:45AM
1585
September 20, 2010 07:07AM
1407
September 20, 2010 07:15AM
1294
September 20, 2010 07:24AM
1294
September 20, 2010 10:26AM
1259
September 20, 2010 10:49AM


Sorry, you can't reply to this topic. It has been closed.

Content reproduced on this site is the property of the respective copyright holders. It is not reviewed in advance by Oracle and does not necessarily represent the opinion of Oracle or any other party.