Announcement

Collapse
No announcement yet.

spaltenname in abhängigkeit zum datum

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

  • spaltenname in abhängigkeit zum datum

    Ich habe zwei Tabellen. Die erste mit Tätigkeiten, die zweite mit geleisteten Stunden.

    taetigkeiten_tab
    Taetigkeit_id
    Taetigkeit
    Stundensatz_2013
    Stundensatz_2014
    Stundensatz_2015
    Etc.

    dateneingabe_tab
    Taetigkeit_id
    stunden
    Datum

    Jetzt würde ich gern in Abhängigkeit vom YEAR(datum) den richtigen Stundensatz aus der taetigkeiten_tab herauslesen.
    Aber ich bin zu doof die Felder zu verketten. So wollte ich das machen, aber das funzt nicht.

    SELECT
    dateneingabe_tab.stunden*CONCAT(taetigkeiten_tab.s tundensatz_',YEAR(dateneingabe_tab.datum)) AS gesamt,
    taetigkeiten_tab.taetigkeit_id AS taetigkeit_id,
    dateneingabe_tab.datum AS datum,
    YEAR(dateneingabe_tab.datum) AS jahr,
    dateneingabe_tab.stunden
    FROM dateneingabe_tab, taetigkeiten_tab
    WHERE dateneingabe_tab. Taetigkeit_id= taetigkeiten_tab. Taetigkeit_id

    Ihr habt sicherlich eine einfache Lösung für mich. DANKE!!!

  • #2
    Üblicherweise erstellt man kein Datenbankmodell, bei dem die Spalten Daten der Geschäftslogik enthalten.
    Nutze eine Tabelle mit einer zusätzlichen Jahres-/Datumsspalte
    Christian

    Comment


    • #3
      Originally posted by rolanddreix View Post
      Ihr habt sicherlich eine einfache Lösung für mich. DANKE!!!
      Ne, haben wir leider nicht.
      Was Du versuchst, nennt sich prinzipiell glaub ich dynamisches SQL. Das beherrscht nicht jedes Datenbank-System. Wenn mySQL das kann, wäre "dynamisches SQL mySQL" meine Suchwortempfehlung. Außerdem hat Christian Marquardt Recht, das Datenmodell würde so freiwillig niemand anlegen, wenn er sich etwas auskennt. Die Schwierigkeiten, die Du hast, sind nicht die einzigen Probleme, die man mit sowas bekommt.
      So wie die Daten Dir vorliegen, sieht es nach einem Report aus, der dafür gedacht ist, ausgedruckt zu werden oder so.

      Mache aus den 3 Spalten 2. Eine mit dem Wert und eine mit der Kennung für das Jahr, dann musst Du an der Stelle nie mehr so rumbasteln.
      Gruß, defo

      Comment


      • #4
        ich habe das jetzt mit einer case anweisung gelößt (when jahr=2013 Then stundensatz_2013 usw.) , das funktioniert zwar, ist aber wohl noch nicht die beste lösung

        Comment


        • #5
          Originally posted by rolanddreix View Post
          ich habe das jetzt mit einer case anweisung gelößt (when jahr=2013 Then stundensatz_2013 usw.) , das funktioniert zwar, ist aber wohl noch nicht die beste lösung
          Ja. IMHO wohl eher die schlechteste.

          Comment

          Working...
          X