Like Tree1Danke
  • 1 Beitrag von Yaslaw
ERLEDIGT
JA
ANTWORTEN
5
ZUGRIFFE
869
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
  1. #1
    Kimymoon86 ist offline Mitglied Bronze
    Registriert seit
    Apr 2012
    Beiträge
    48
    Guten Abend alle zusammen.
    Ich bin ein neuling in MySql und würde mich freuen wenn ihr mir weiterhelfen könntet. Ich habe zwei Tabellen
    1.Tabelle : temperatur
    ID Ort Datum Temperatur
    1 Hallein 12.02.1968 12,4
    2 Graz 04.05.2011 28,0
    3 Salzburg 01.02.1989 30,2 ...

    In der zweiten Tabelle steht unter anderem das hier:

    2. Tabelle: ort
    Ortsname Bundesland
    Hallein Salzburg
    Salzburg Salzburg
    Innsbruck Tirol....

    sorry hab was ausgebessert, hatte was vergessen!

    so ich würde jetzt gerne die Durschnittstemperatur aller Messungen für das Bundesland Salzburg ausgeben. Also muss ich zuerst in die Tabelle 2 gehen und herausfinden welche Bundesland Salzburg sind. Aber wie greif ich dann auf die Tabelle 1 zu, die WErte zu verwenden. Damit ich weis das Graz nicht zum Bundesland Salzburg gehört. Die Durchschnittstemperatur hätt ich denk ich schon richtig, mit dem ersten Schritt hab ich aber noch Probleme.

    Ich würde mich sehr über HIlfe freuen.

    Danke
    Geändert von Kimymoon86 (18.04.12 um 11:01 Uhr)
     

  2. #2
    Avatar von Yaslaw
    Yaslaw ist gerade online n/a
    tutorials.de Moderator
    Registriert seit
    Dec 2007
    Ort
    Winterthur(CH)
    Beiträge
    7.043
    Mit einem einfachen INNER JOIN.
    http://dev.mysql.com/doc/refman/5.1/de/join.html
    Kimymoon86 bedankt sich. 
    ---------------------------------------------------------------------------------------------------
    item: Ich habe es mir aus gesundheitlichen Gründen abgewöhnt unformatierten Code zu lesen (Auch SQL-Statements¨in PHP-Code kann man formatieren!)
    item: Tutorial: [PHP][MySQL] Debug Queries
    item: Schreibt mir keine PN mit Fragen die im Forum beantwortet werden können - ich mache kein persönliches coaching
    item: Bitte zur besseren Lesbarkeit Code-Tags verwenden

  3. #3
    Kimymoon86 ist offline Mitglied Bronze
    Registriert seit
    Apr 2012
    Beiträge
    48
    Super danke für den Tip. Ich hab es jetzt mit diesem Befehl gemacht:
    Select Ort, Bundesland, Datum, Temperatur,
    AVG (Temperatur)
    from ort, temperatur
    where Bundesland = 'Salzburg'
    group by Ort

    Er gibt mir jedoch nicht nur die Orte im Bundesland Salzburg sondern auch noch andere an. Was ist falsch an meinem Code?
    Geändert von Kimymoon86 (18.04.12 um 09:57 Uhr)
     

  4. #4
    Avatar von Yaslaw
    Yaslaw ist gerade online n/a
    tutorials.de Moderator
    Registriert seit
    Dec 2007
    Ort
    Winterthur(CH)
    Beiträge
    7.043
    Du hast ort und temperatur nicht verknüpft. Das gibt [Anzahl Orte mit Bundesland 'Salzburg']*[Anzahl aller Temperturen]

    Du brauchst ein JOIN oder mindestens eine Verknüpfung der beiden Tabellen im WHERE
    Code sql:
    1
    
    ort.ort = temeratur.ort
     
    ---------------------------------------------------------------------------------------------------
    item: Ich habe es mir aus gesundheitlichen Gründen abgewöhnt unformatierten Code zu lesen (Auch SQL-Statements¨in PHP-Code kann man formatieren!)
    item: Tutorial: [PHP][MySQL] Debug Queries
    item: Schreibt mir keine PN mit Fragen die im Forum beantwortet werden können - ich mache kein persönliches coaching
    item: Bitte zur besseren Lesbarkeit Code-Tags verwenden

  5. #5
    Kimymoon86 ist offline Mitglied Bronze
    Registriert seit
    Apr 2012
    Beiträge
    48
    Aber wie bezieh ich dann das Bundesland mit ein. Wenn ich das wie du geschrieben habe mache, dann bekomm ich ja alle Orte die gleich sind. Aber ich will ja nur die Orte die in Tabelle Ort unter Bundesland Salzburg zu finden sind. Die will ich in der Tabelle Temperatur finden und ausgeben.
    Ok danke für die Hilfe ich habs geschafft
    Geändert von Kimymoon86 (18.04.12 um 18:45 Uhr)
     

  6. #6
    Kimymoon86 ist offline Mitglied Bronze
    Registriert seit
    Apr 2012
    Beiträge
    48
    Hätte jetzt noch eine Frage: wie such ich mir alle Messergebnisse für Orte ausserhalb des Bundeslands Salzburg, deren Werte niedriger sind als die minimale Temperatur im
    Bundesland Salzburg im März?
    Bin derweil soweit, aber das zeigt mir nur alle ausserhalb vom Bundesland Sbg an.
    SELECT Bundesland, Temperatur, Ort
    FROM temperatur
    INNER JOIN `ort` ON (ort.Ortsname = temperatur.ort)
    WHERE Ort.Bundesland != 'Salzburg';
     

Ähnliche Themen

  1. Antworten: 3
    Letzter Beitrag: 20.01.12, 19:05
  2. Antworten: 3
    Letzter Beitrag: 17.06.11, 12:11
  3. Antworten: 0
    Letzter Beitrag: 05.01.11, 09:05
  4. [mysql] Daten aus Tabelle auslesen, die nicht in einer anderen enthalten sind
    Von esprit1st im Forum Relationale Datenbanksysteme
    Antworten: 5
    Letzter Beitrag: 13.09.07, 15:22
  5. Antworten: 3
    Letzter Beitrag: 06.12.05, 21:07