sql like σε πεδία με πολλές λέξεις

Συζητήσεις για την βάση δεδομένων MySQL και το phpMyAdmin

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

Απάντηση
heavyaris
Δημοσιεύσεις: 295
Εγγραφή: 15 Απρ 2008 21:31

sql like σε πεδία με πολλές λέξεις

Δημοσίευση από heavyaris » 21 Σεπ 2010 12:14

παιδιά, έχω μια βάση, που είναι διάφοροι πελάτες κάποιου κυρίου. τα δεδομένα τα έχω κάνει import απο xls αρχείο που μου δώθηκε. το κακό είναι όμως ότι, αυτό το xls, είχε ένα πεδίο: "επωνυμία/όνομα" στο οποίο γίνεται ένας αχταρμάς, δηλαδή περιέχει: όνομα ή επίθετο ή αν είναι συνέταιροι 2 ονόματα κ ένα ή 2 επίθετα, ή επωνυμία εταιρείας, ή όλα μαζί σε ακανόνιστη σειρά. μερικά παραδείγματα περιεχομένων του πεδίου είναι: (τυχαια ονόματα)

Κώδικας: Επιλογή όλων

Όνομα/επωνυμία:
ηλιας νικολάου
νικολάου ηλίας
αφοι νικολάου Α.Ε
ηλίας νικολάου κ ιυος
νικολάου ηλίας - ηλιαδου μαρια
"το λουλουδι" - νικολάου ηλίας
και οι παραλλαγές όπως καταλαβαίνετε δεν έχουν τελειωμό.

Αυτό που θέλω είναι με ένα ερώτημα στην βάση να βγαίνουν τα ονόματα, έτσι στην προσπάθεια μου χρησιμοποίησα το like

Κώδικας: Επιλογή όλων

SELECT * FROM clients where name like '%ηλιας%'
το οποίο επιφέρει δικαιολογημένα τελείως λανθασμενα αποτελέσματα μερικες φορές όπως: εάν ψάχνω το όνομα άρης, επιστρέφει εγγραφές του στύλ: γρυπάρης ηλίας ή βούλγαρης ιωάννης
Γνωρίζω οτι φυσικά το αυτονόητο είναι να είναι τα πεδία ξεχωριστα (όνομα, επώνυμο, εταιρεία) αλλά και έτσι να ήταν, πάλι όταν κάποιος ήταν συνέταιρος θα υπήρχαν 2 η περισσότερα ονόματα σε ένα πεδίο. Εκτός αυτού, δεν υπάρχει περίπτωση να κάτσω να τα καθαρίσω γιατι είναι 6000 εγγραφές.
υπάρχει περίπτωση να βγάλω καμμιά άκρη;
ευχαριστώ.

nbc
Honorary Member
Δημοσιεύσεις: 526
Εγγραφή: 05 Σεπ 2009 20:12
Επικοινωνία:

sql like σε πεδία με πολλές λέξεις

Δημοσίευση από nbc » 21 Σεπ 2010 12:28

Αντικατέστησε το

Κώδικας: Επιλογή όλων

like '%ηλιας%'
με

Κώδικας: Επιλογή όλων

REGEXP '&#91;&#91;&#58;<&#58;&#93;&#93;&#40;ηλιας&#41;&#91;&#91;&#58;>&#58;&#93;&#93;'

heavyaris
Δημοσιεύσεις: 295
Εγγραφή: 15 Απρ 2008 21:31

sql like σε πεδία με πολλές λέξεις

Δημοσίευση από heavyaris » 21 Σεπ 2010 12:52

καλά, φίλε, δεν παίζεσαι!!
ευχαριστώ πολύ!

Απάντηση

Επιστροφή στο “MySQL”

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

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