skous Δημοσ. 17 Ιουλίου 2007 Δημοσ. 17 Ιουλίου 2007 Για σας και πάλι. Το πρόβλημα είναι το εξής: Έχουμε 3 πίνακες. Ο Α περιέχει στοιχεία για βλάβες σε ένα όχημα, όπου μπορούμε να δώσουμε 2 βλάβες (vlavireason1, vlavireason2). Ο Β είναι για τον επανέλεγχο και συνδέται με τον Α μέσα απο το B.VlaviID -> A.ID και επίσης μπορούμε να δώσουμε 2 βλάβες (vlavireason1, vlavireason2). Ο C είναι lookup και περιέχει τα κείμενα και ΙDs για να συνδέονται τα reasons των Α και Β. Υπάρχουν 3 πίνακες με τα εξής χαρακτηριστικά Πίνακας Α (vlaves) --------- Id vlavireason1 vlavireason2 Πίνακας Β (epanelegxos) ---------------------- Id VlaviId vlavireason1 vlavireason2 Πίνακας C (reasons) ------------------ ID Vlavireasontext Αυτό που θέλω είναι το εξής: Α) Να βγαίνει ένα αποτέλεσμα που να κάνει count της βλάβες, δηλαδή να λέει ότι βλάβες τύπου ABGXX εμφανίστηκαν συνολικά τόσες φορες, κτλ. Β) Διαλέγοντας ένα τύπο βλάβης, να μου βγάζει σε πιο ID οχήματος (άρα ID του πίνακα Α) αυτή βρέθηκε (είτε βρέθηκε στον πίνακα Α είτε στον Β) Περιμένω βοήθεια!!!
lefterhs Δημοσ. 17 Ιουλίου 2007 Δημοσ. 17 Ιουλίου 2007 Να σου προτεινω πρωτα μερικες αλλαγες? Car_Table --------- Car_ID <rest of columns> Visit_Table ----------- Visit_ID Prev_Visit_ID Car_ID Vlavi_ID1 Vlavi_ID2 Info <rest of columns> Vlaves_Table ------------- Vlavi_ID <rest of columns> Καθε επισκεψη συνδεεται με ενα αυτοκινητο, με δυο βλαβες και αν η επισκεψη ειναι επανελεγχος για μια βλαβη που παρουσιαστηκε σε προηγουμενη επισκεψη, βαζεις στο Prev_Visit_ID του το Visit_ID της πρωτης επισκεψης. Απο τη στιγμη που αυτο που εσυ ονομαζεις "βλαβη" και "επανελεγχος" ειναι στην ουσια το ιδιο πραγμα δηλαδη μια επισκεψη, πιστευω οτι καλο ειναι να τα κρατας στο ιδιο table...
lefterhs Δημοσ. 17 Ιουλίου 2007 Δημοσ. 17 Ιουλίου 2007 'H αμα θες να εχεις πιο πολλες βλαβες ανα επισκεψη δημιουργεις μια many to many relationship. Το Visit_Table γινεται: Visit_ID Prev_Visit_ID Car_ID Info <rest of columns> και φτιαχνεις ενα ενδιαμεσο table: Visit_Vlavi_Table ---------------- Visit_ID Vlavi_ID
skous Δημοσ. 17 Ιουλίου 2007 Μέλος Δημοσ. 17 Ιουλίου 2007 Δυστυχώς δεν γίνεται να αλλαχτούν οι πίνακες διότι πρέπει να άλλαξει η φιλοσοφία όλου του προγράμματος. Αυτό που θα μπορούσε?? να γίνει είναι π.χ. Multiple Selects (2 για τον Πίνακα Α (vlavireason1 vlavireason2) και 2 για τον Β (vlavireason1 vlavireason2) ταώστε να τα φέρνει όλα τελικά σε έναν πίνακα On-the-fly και μετά εκεί να κάνει count. Πώς όμως;;;;
Ticket Δημοσ. 17 Ιουλίου 2007 Δημοσ. 17 Ιουλίου 2007 Αν έκανες ένα dataview μεταξύ των πινάκων Α και Β (από την στιγμή που συνδέονται μεταξύ τους) δεν θα ήταν πιο εύκολο να κάνεις το count μέσα απο το dataview?
Ticket Δημοσ. 17 Ιουλίου 2007 Δημοσ. 17 Ιουλίου 2007 Στην database σου πας στα Views και κάνεις NewView επιλέγεις του πίνακες που θέλεις να περιλαμβάνει το view σου (Πίνακας Α (vlaves) και Πίνακας Β (epanelegxos)) και τους ενώνεις σύμφωνα με το κοινό πεδίο (με το Id δηλαδή του Α και το ValidId του Β) και μετά προσαρμόζεις το Query με το count που θέλεις να κάνεις
Προτεινόμενες αναρτήσεις
Αρχειοθετημένο
Αυτό το θέμα έχει αρχειοθετηθεί και είναι κλειστό για περαιτέρω απαντήσεις.