Announcement

Collapse
No announcement yet.

Spaltenname

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Spaltenname

    Hi @all!

    Ich möchte in einer SELECT Abfrage den Namen einer Spalte nicht fix haben, sondern aus einer anderen Tabelle der selben FDB holen lassen. Sprich

    SELECT a.xyz AS b.abc ...
    FROM
    WHERE a.id = b.id ...

    So geht das natürlich nicht. Eine geschachtelte SELECT Anweisung, also

    SELECT a.xyz AS (SELECT...

    funzt auch nicht.
    Gibt es in Firebird überhaupt eine Möglichkeit den Namen einer Tabelle "dynamisch" zu vergeben? Wenn ja, wie?

    rgds

  • #2
    Das wird bei keiner Datenbank so dynamisch gehen das der SQL-Standard sowas nicht mal im Ansatz vorsieht. Du wirst zwei Abfragen benötigen: Die erst bestimmt den Alias-Namen und basierent darauf baust du das SQL-Statement der zweiten Abfrage zusammen.

    Für was ist denn das gut? Wenn du "sprechende"/Übersetzte Spaltennamen haben willst würde ich das auf dem Presentation-Layer deiner Anwendung machen und nicht im Daten-Layer.

    Comment


    • #3
      FB unterstützt grundsätzlich keine Parameter für DB-Objekte, nur für Werte.
      Schreib dir eine SP.

      Comment


      • #4
        Dachte da an so etwas ähnliches wie die Pivot-Abfrage die der MicrosoftSQLServer unterstüzt...

        Das zweite Statement müsste ich ja manuell anfertigen, nachdem das erste gelaufen ist. Verbinden kann man das ja auch net, oder?

        An das mit dem Presentation-Layer hatte ich auch gedacht. Wollte auch schon was in C++ schreiben das ein String ausgelesen wird und in der gewünschten Form eben angezeigt wird. Aber mein Chef meint es muss so gehn. Er hat einen screenshort gesehn auf dem eine solche Tabelle abgebildet ist. Nur kann er sebst nicht sagen wie das funzt und hat daher mich damit beautragt.
        Und ich versuche es nun seit gestern morgen ergebnisslos!
        Grund ist wohl einzig die bessere übersichtlichkeit. Es wird nämlich mehrer Spalten zu einem Job geben die alle einen Status haben. Und er hätte die daher gerne übereinander stehn und nicht nebeneinander...

        Comment


        • #5
          Pivot-Abfrage? Dann verstehe ich nicht was das mit deinem ersten Post zu tun hat. Ob FB auch Pivot kann weis nicht.

          Aber mein Chef meint es muss so gehn. Er hat einen screenshort gesehn auf dem eine solche Tabelle abgebildet ist.
          Und er hat auch gesehen das es mit einer Abfrage erledigt wird?

          Comment


          • #6
            So in der Art Pivot hab ich gemeint... Das das keine Pivot Abfrage is is mir auch klar. Aber die Technik erschien mir ungefähr angemessen als Grundlage.

            Und ja, mein Chef ist sich sicher. Frag mich nicht warum...
            Werde ihn aber, wenn ich es bis heut Abend net schaff, doch überreden es mit einem kleinen Programm zu machen.

            Comment

            Working...
            X