Προς το περιεχόμενο

MySQL ελεγχος και "κόλλημα" δεδομενων


valantis315

Προτεινόμενες αναρτήσεις

Καλησπέρα,

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

Θέλω στην περίπτωση που το ονομα υπάρχει δύο φορές μόνο τότε να "κολλάει" στο τελος ο κωδικός του.

Δλδ αν έχω

1) Μνήμη kingston 1800MHz

2) Μνήμη kingston 1800MHz

3) Μνήμη kingston 1333MHz

 

Να μετατραπούν τα ονόματα σε:

1) Μνήμη kingston 1800MHz

2) Μνήμη kingston 1800MHz 000261

3) Μνήμη kingston 1333MHz

 

Μπορείτε να σκεφτείτε κατι ώστε να γίνει αυτό; Έστω και με χρήση php (αν δεν μπορεί να γίνει μονο με sql ερωτημα);

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Δεν μπορώ να σκεφτώ κάτι γρήγορο με SQL...

 

 

Αντιθέτως, γρήγορα μου έρχεται ότι είναι λάθος το table. 

 

 

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

 

 

άλλο column τα ονόματα, άλλο οι κωδικοί. 

 

Ακόμα καλύτερα, ένα table με "ονόματα" (γιατί vendors ή manufacturers είναι) και ένα άλλο με κωδικούς και με ξένο κλειδί από αυτό με τα "ονόματα". 

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Δεν καταλαβα τι εννοεις προφανώς είναι σε διαφορετικό column μεταξύ τους. Υπάρχουν και αλλα columns τα οποια δεν παίζουν ρόλο στο ερωτημα μου.

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Ορίστε, αυτό το query θα κάνει αυτό που θες σε περίπτωση που το ίδιο όνομα υπάρχει πάνω από 1 φορά στις εγγραφές.

UPDATE products 
JOIN (SELECT name FROM products GROUP BY name HAVING COUNT(name) > 1) 
dup ON dup.name = products.name
SET products.name = CONCAT(products.name, ' ', products.code)
Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Δεν καταλαβα τι εννοεις προφανώς είναι σε διαφορετικό column μεταξύ τους. Υπάρχουν και αλλα columns τα οποια δεν παίζουν ρόλο στο ερωτημα μου.

 

vendors: id, name

products: id, vendor_id (ξένο κλειδί), name, ....

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Δημιουργήστε ένα λογαριασμό ή συνδεθείτε για να σχολιάσετε

Πρέπει να είστε μέλος για να αφήσετε σχόλιο

Δημιουργία λογαριασμού

Εγγραφείτε με νέο λογαριασμό στην κοινότητα μας. Είναι πανεύκολο!

Δημιουργία νέου λογαριασμού

Σύνδεση

Έχετε ήδη λογαριασμό; Συνδεθείτε εδώ.

Συνδεθείτε τώρα
  • Δημιουργία νέου...