antonl Δημοσ. 11 Μαρτίου 2006 Δημοσ. 11 Μαρτίου 2006 Έχω μια βάση η οποία περιέρχει 10 (ας πούμε) tables. Το ένα από αυτά (έστω ότι λέγεται "kathgories") έχει ένα field "db_names" (varchar(30)) στο οποίο είναι καταχωρημένα τα ονόματα των υπόλοιπων 9 tables. Το καθένα από τα 9 αυτά tables έχει ένα field "codes" (varchar(30)). Με ποιο (μοναδικό) SQL query μπορώ να πάρω όλα τα "codes" των 9 tables αφού μάθω τα ονόματα αυτών από το table "kathgories"; Ελπίζω να ήμουν αρκετά σαφης .
xalia Δημοσ. 11 Μαρτίου 2006 Δημοσ. 11 Μαρτίου 2006 Κάπου σε έχασα! Έχεις λοιπόν 10 tables. Το ένα από αυτά έχει τα ονόματα των υπόλοιπων 9, όλα καλά μέχρι εδώ. Από αυτά τα 9 θες να πάρεις το field codes? Σα να λέμε select codes from table1 αυτό για τα 9 table με ένα statement?
random Δημοσ. 11 Μαρτίου 2006 Δημοσ. 11 Μαρτίου 2006 Κανονικά για να συντάξεις μια εντολή sql πρεπει να ξέρεις απο πριν τα ονοματα των αντικειμένων που θα χειριστεί (πινακες και τα πεδία τους δηλαδη). δηλ, εσυ θα ηθελές κατι σαν... SELECT CODE FROM X WHERE X IN (SELECT db_names FROM kathgories) μονο που αυτό δεν παίζει σε καμια sql , οσο γνωρίζω. Μιλάμε για σκέτη, καθαρή SQL. θελεις procedural γλώσσα, που να εκτελει sql, όπως η PL/SQL της Oracle, και η τεχνική λεγεται "Dynamic Sql" (read the docs). υποθετω κατι αναλογo πρεπει να εχει και ο Ms-SQL. αυτα γίνονται, αλλα φεύγεις απο το "ένα μοναδικο sql query" που ζητάς.
antonl Δημοσ. 11 Μαρτίου 2006 Μέλος Δημοσ. 11 Μαρτίου 2006 Ακριβώς αυτό που είπες xalia θέλω αλλά από ότι κατάλαβα μάλλον θα πρέπει να σκεφτώ κάποια άλλη υλοποίηση αφού δε θέλω να ξεφύγω από την «απλή» (My)SQL. Ευχαριστώ για τις διευκρινίσεις random
random Δημοσ. 14 Μαρτίου 2006 Δημοσ. 14 Μαρτίου 2006 stored procedures exei η Mysql 5.0, δηλαδή procedural κώδικας αποθηκευμενος μεσα στη βάση, μαζι με πινακες, και τα υπόλοιπα. για συνταξη δεν ξερω να σε βοηθήσω, αλλα ειναι απο τα νεα χαρακτηριστικα που εκτιμούνται ιδιαίτερα.
Προτεινόμενες αναρτήσεις
Αρχειοθετημένο
Αυτό το θέμα έχει αρχειοθετηθεί και είναι κλειστό για περαιτέρω απαντήσεις.