Fall und die Verkettung, sql

Im mit einer SQL server-Datenbank und in im mit Sie eine harte Zeit mit meiner case-Anweisung. Was ich versuche zu tun ist, legen Sie eine Verkettung der Attribute in ein id-Feld (state_issue_teacher_id), wenn es gleich " (leeres Feld). Das problem ist, dass ich einige leere id Felder, die ich ausfüllen muss mit einer eindeutigen id, die erstellt wird, durch eine Verkettung der Attribute durch die case-Anweisung.

Fall und die Verkettung, sql

Den leeren Zeilen oben, die ich brauche, um mit zu füllen, eine Verkettung von Nachname+Vorname+Geschlecht+race_ethnicity_code+high_degree_code+position_code+assignment_code.

Hier ist was ich habe, so weit:

SELECT    
        state_issue_teacher_id,
        region_code
        + county_code
        + district_code AS district_code ,
        last_name ,
        first_name ,
        assigned_fte = CASE assign_fte
                  WHEN '' THEN 0
                  ELSE CAST(assign_fte AS NUMERIC(18,
                  2))
                  END ,
        CASE WHEN state_issue_teacher_id = '' THEN 
        RTRIM([last_name]) + '_' + RTRIM([first_name]) + '_' + RTRIM([gender])
        + '_' + RTRIM([race_ethnicity_code]) + '_' + high_degree_code + '_'
        + position_code  + '_' + assignment_code
        ELSE state_issue_teacher_id
        END,
        year_time

FROM      dbo.example
  • was ist das problem? was ist die erwartete Ausgabe?
  • assigned_fte = CASE.... END, -> CASE ... END as assigned_fte,?
  • Es ist die gleiche Sache, glaube ich.
  • Wenn eine der Spalten verwendet, die in Ihrer Verkettung null sind, Ihr verkettet mit dem Wert null. Möglicherweise müssen Sie coalesce wenn dies der Fall ist.
  • warum wäre das wichtig? Das ist wie FROM dbo.table AS t vs. FROM dbo.table t.
  • Können Sie definieren, ob "leere Feld" bedeutet leere Zeichenfolge oder NULL? Sie sind ganz anders.
  • Welche Art ist state_issue_teacher_id? Braucht er einen RTrim auch?
  • eine leere Zeichenfolge " nicht null ist.
  • state_issue_teacher_id muss nicht ein rtrim
  • Sie wurden gebeten, was ist der Datentyp von state_issue_teacher_id. Es wäre gut, fügen Sie die ganze CREATE table-Anweisung.
  • Was Fehler, oder falsche Ergebnisse... erfülle uns!!!
  • alle Datentypen in der Tabelle sind varchar und alle Attribute in der Verkettung nicht null sind. Ich bin nicht immer ein Fehler die Abfrage ausgeführt wird, aber die Zeilen bleiben leer.
  • Vielleicht, wenn die state_issue_teacher_id leer ist, die anderen Felder sind auch? 🙂
  • Was meinst du damit "die Zeilen bleiben leer"? Sie wissen, dass dies ist eine SELECT-Anweisung und die SELECT-Anweisungen nur die Rückgabe von Zeilen, die Sie nicht ändern können, richtig?
  • Ich dachte, vielleicht war er Misch-update-syntax, denken, dies würde das Feld aktualisieren. Mehr ein Weg, um zu betonen, dass man nicht ein Feld aktualisieren, die durch eine select-Anweisung. Daher "ich bin nicht immer ein Fehler die Abfrage ausgeführt wird, aber die Zeilen bleiben leer." schon sagt, erwartet er ein udpate.
  • NINJA UPDATE!!!

InformationsquelleAutor Tone | 2013-04-12
Schreibe einen Kommentar