KB2873474 - ΔΙΟΡΘΩΣΗ: Σφάλμα "Το<> όνομα στήλης" δεν είναι έγκυρο στη λίστα επιλογής, επειδή δεν περιέχεται σε μια συνάρτηση συγκεντρωτικών αποτελεσμάτων ή στον όρο GROUP BY" κατά την εκτέλεση ενός ερωτήματος στο SQL Server 2012

Ισχύει για
SQL Server 2012 Developer SQL Server 2012 Enterprise SQL Server 2012 Standard SQL Server 2012 Web

Συμπτώματα

Εξετάστε το ακόλουθο σενάριο:

  • Έχετε έναν υπολογιστή που έχει εγκατεστημένο το Microsoft SQL Server 2012.
  • Έχετε ένα ερώτημα που περιέχει μια πρόταση CASE σε μια πρόταση SELECT και μια πρόταση CASE σε μια πρόταση GROUP BY.
  • Οι δύο προτάσεις CASE λαμβάνουν την τιμή NULL.
  • Μπορείτε να εκτελέσετε το ερώτημα.

Σε αυτό το σενάριο, λαμβάνετε το ακόλουθο μήνυμα λάθους:

Σημείωση

Msg 8120, Επίπεδο 16, Κατάσταση 1, Γραμμή 3

Το "<όνομα >στήλης" δεν είναι έγκυρο στη λίστα SELECT, επειδή δεν περιέχεται σε μια συνάρτηση συγκεντρωτικών αποτελεσμάτων ή στον όρο GROUP BY.

Για παράδειγμα, μπορείτε να εκτελέσετε το ακόλουθο ερώτημα:δημιουργία βάσης δεδομένων δοκιμής
μετάβαση
Χρήση δοκιμής
μετάβαση
Δημιουργία πίνακα TVT ( V1T Binary(1) Null)
create table TLN (ln; numeric(5) not null)
μετάβαση
επιλογή
υπόθεση
Όταν 1=2 τότε T1.col1
Αλλιώς: 10
τέλος,
υπόθεση
Όταν T1.Col1 = 2 τότε T1.Col2
τέλος
από (
Επιλέξτε T2.v1T ως Col1, 10 ως Col2
Από TVT T2
) σ1
Ομαδοποίηση κατά
υπόθεση
Όταν 1=2 τότε T1.col1
Αλλιώς: 10
τέλος,
υπόθεση
Όταν T1.Col1 = 2 τότε T1.Col2
τέλος
go Στο ερώτημα, η πρόταση "when 1=2 then t1.col1 else 10" αποδίδει την τιμή 10. Όταν αντικαθιστάτε το "10" χρησιμοποιώντας το πλήκτρο NULL, παρουσιάζεται αυτό το ζήτημα.
Σημείωση Αυτό το ζήτημα δεν παρουσιάζεται όταν καταργείτε οποιαδήποτε από τις προτάσεις CASE από την πρόταση SELECT ή από την πρόταση GROUP BY.

Επίλυση

Μετά την εφαρμογή της ενημέρωσης κώδικα, πρέπει να ενεργοποιήσετε μια σημαία ανίχνευσης για να λειτουργήσει η επείγουσα επιδιόρθωση. Επικοινωνήστε με την υποστήριξη της Microsoft όταν χρειαστεί να εφαρμόσετε αυτήν την επιδιόρθωση.

Το πρόβλημα διορθώθηκε για πρώτη φορά στην ακόλουθη αθροιστική ενημερωμένη έκδοση του SQL Server.

Αθροιστική ενημερωμένη έκδοση 6 για SQL Server 2012 SP1 /el-gr/help/2874879

Πληροφορίες σχετικά με τις αθροιστικές ενημερώσεις για SQL Server

Κάθε νέα αθροιστική ενημερωμένη έκδοση για SQL Server περιέχει όλες τις επείγουσες επιδιορθώσεις και όλες τις ενημερώσεις κώδικα ασφαλείας που συμπεριλήφθηκαν με την προηγούμενη αθροιστική ενημερωμένη έκδοση. Δείτε τις πιο πρόσφατες αθροιστικές ενημερώσεις για SQL Server:

      

Κατάσταση

Η Microsoft έχει επιβεβαιώσει ότι πρόκειται για ένα ζήτημα που αφορά τα προϊόντα της Microsoft που παρατίθενται στην ενότητα "Ισχύει για".