Παναγιώτης Καναβός:
Νομίζω ότι πρώτα θα πρέπει ο gipap να εξηγήσει τί θέλει να κάνει, και εφόσον πρόκειται για άσκηση να δώσει την ίδια την εκφώνηση. Αυτό που ζητάει είναι περίεργο και κάτι μου λέει ότι αυτό που πραγματικά ζητάει η άσκηση (αν πρόκειται για άσκηση) είναι διαφορετικό.
Οχι Παναγιώτη δεν πρόκειται για άσκηση. Πρόκειται για την προσωπική μου ιστοσελίδα.
Παναγιώτης Καναβός:
Γιατί το select επιστρέφει αυτά τα strings και όχι τους αριθμούς ξεχωριστά?
Γιατί τα αποτελέσματα της Select είναι αποτελέσματα αγώνων ποδοσφαίρου.
0-1
4-3
Παναγιώτης Καναβός:
Ας μην ξεχνάμε επίσης ότι η SQL δουλεύει με set. Η λύση του Νίκου προϋποθέτει την ύπαρξη cursor ο οποίος θα εκτελέσει τον κώδικα του μία φορά για κάθε εγγραφή που επιστρέφει η select. Αν όμως πρόκειται για άσκηση, ο καθηγητής δεν θα χαρεί καθόλου με μία procedural απάντηση. Μπορεί να δουλεύει αλλά δεν είναι αυτό που ζήτησε.
Οσο για τον κύριο καθηγητή μάλλον θα χαρεί μαζί με εμένα για 2 λόγους!
1) Θα του δώσω στάνταρ για το στοίχημα!
2) Έχω χρησιμοποιήσει cursor για το for loop (Όχι ότι καλύτερο βέβαια σε σχέση με αυτό που πρότεινες)
DECLARE MyCursor CURSOR FOR
'ΕΔΩ ΕΙΝΑΙ Η SELECT ΜΟΥ'
OPEN MyCursor
FETCH MyCursor INTO @AkrivesSkor
SET @Sum =0
SET @i = 0
WHILE @@Fetch_Status = 0
BEGIN
SET @str1 = @AkrivesSkor
SET @num=cast((SELECT SUBSTRING(@str1,CHARINDEX('-',@str1)+1, 1)) as int) + CAST((SELECT SUBSTRING(@str1,CHARINDEX('-',@str1)-1, 1) ) as int)
SET @Sum = @Sum + @num
SET @i = @i+1
FETCH MyCursor INTO @AkrivesSkor
END
if @i = 6
BEGIN
SET @MesosEktos = @Sum / 6.00
SELECT @MesosEktos
END
ELSE
SET @MesosEktos = 0
SELECT @MesosEktos
CLOSE MyCursor
DEALLOCATE MyCursor
Για δυνατούς λύτες φαντάζομαι είναι η χρήση LOOP χωρίς cursor.
Κάτι που δεν κατέχω ακόμα τουλάχιστον.
Ο εχθρός του καλού είναι πάντα το καλύτερο.
Σε ευχαριστώ Παναγιώτη.