function Δημοσ. 25 Φεβρουαρίου 2011 Δημοσ. 25 Φεβρουαρίου 2011 Καλημέρα παιδιά, Έχω κάποιο πρόβλημα σε μια βάση δεδομένων SQL SERVER 2008. Ένας πίνακας περιέχει 4 πεδία (το ένα από αυτά είναι automatic increment). Τα υπόλοιπα πεδία είναι text και περιέχουν ονόματα το καθένα, αλλά όχι όλα....τι εννοώ? Πχ. ο πίνακας μπορεί να είναι έτσι: ================================================================================================================================= name1 -------- name2 -------- name3 ------------------------------------------------ Κώστας Γιάννης Λευτέρης Γιάννης Όλγα Στέλιος ================================================================================================================================= Προσπαθώ να βρω ένα query που να μου επιστρέφει για κάθε row πόσα από τα πεδία έχουν περιεχόμενο μέσα. Δηλαδή στην πρώτη σειρά το count πρέπει να μου επιστρέψει 2, στην δεύτερη 1 και στην τρίτη 3. Υπάρχει τρόπος? Ευχαριστώ πολύ!
mtsouk Δημοσ. 25 Φεβρουαρίου 2011 Δημοσ. 25 Φεβρουαρίου 2011 Αν και δεν ξέρω από SQL SERVER, εγώ στην θέση σου θα έφτιαχνα procedure για αυτή την δουλειά -- μου φαίνεται πιο εύκολο και πιο λογικό... φιλικά,
Aztec Δημοσ. 25 Φεβρουαρίου 2011 Δημοσ. 25 Φεβρουαρίου 2011 Αν θεωρείς χωρίς περιεχόμενο μόνο τα null πεδία τότε >select id , (case when name1 is not null then 1 else 0 end) + (case when name2 is not null then 1 else 0 end) + (case when name3 is not null then 1 else 0 end) from tablename αν θεωρείς χωρίς περιεχόμενο και αυτά με κενούς χαρακτήρες τοτε >select id , (case when rtrim(ltrim(name1)) is not null then 1 else 0 end) + (case when rtrim(ltrim(name2)) is not null then 1 else 0 end) + (case when rtrim(ltrim(name3)) is not null then 1 else 0 end) from tablename
Προτεινόμενες αναρτήσεις
Αρχειοθετημένο
Αυτό το θέμα έχει αρχειοθετηθεί και είναι κλειστό για περαιτέρω απαντήσεις.