Εισαγωγή γραμμών σε πίνακα

Γενικές συζητήσεις για SQL και SQL Servers (RDBMS)

Συντονιστές: WebDev Moderators, Super-Moderators

Απάντηση
berta
Δημοσιεύσεις: 6
Εγγραφή: 30 Δεκ 2006 23:58

Εισαγωγή γραμμών σε πίνακα

Δημοσίευση από berta » 05 Αύγ 2009 19:59

Έστω ότι έχουμε δύο πίνακες

table1 με πεδία id, code, name, tel κ.λ.π.

table2 με πεδία id, kodikos, onoma, perioxi κ.λ.π.

της ίδιας βάσης. Θέλουμε να εισάγουμε νέες εγγραφές στον table1 και να ενημερωθούν μόνο τα πεδία code, name από τα πεδία kodikos, onoma του πίνακα table2 και μάλιστα όσα έχουν κωδικό μεγαλύτερο π.χ. από 5000. Το πεδίο id το ενημερώνω παίρνοντας το max(id) του πίνακα προσθέτοντας 1 ώστε μόλις προσθέτει μια έγγραφή το id αυτόματα να αυξάνει κατά 1.

η εντολή SQL που γράφω είναι η εξής :

Insert Into TABLE1 (TABLE1.id, TABLE1.code, TABLE1.name) As
(Select max(TABLE1.id)+1, TABLE2.kodikos, TABLE2.onoma
From TABLE2
Where TABLE2.kodikos > '5000');

αλλά μου βγάζει μήνυμα λάθους.

Κάθε πρόταση δεκτή

Ευχαριστώ

Άβαταρ μέλους
Sheena
Honorary Member
Δημοσιεύσεις: 3654
Εγγραφή: 07 Σεπ 2005 00:00

Εισαγωγή γραμμών σε πίνακα

Δημοσίευση από Sheena » 06 Αύγ 2009 00:42

Τα πεδία είναι ίδιου τύπου και στους δύο πίνακες; Επίσης, δεν κατάλαβα γιατί ενημερώνεις το πεδίο id του πίνακά σου και δεν το κάνεις auto-increment, ώστε να παίρνει αυτόματα τιμές; Φυσικά και σου βγάζει λάθος. Βάζεις max... Aggregate function..... Θέλει group by...... :hammer: (Θέλει και άλλα....)

Τι ακριβώς θες να κάνεις; Γράψτο λίγο πιο αναλυτικά.... :wink:
Εικόνα

id12856 Οι άγγελοι πάνε κοντά με τους αγγέλους...

Απάντηση

Επιστροφή στο “Βάσεις Δεδομένων και SQL - γενικά”

Μέλη σε σύνδεση

Μέλη σε αυτήν τη Δ. Συζήτηση: Δεν υπάρχουν εγγεγραμμένα μέλη και 0 επισκέπτες