Koni: 2 Werte aus einer gleichen Tabelle vergleichen

Hallo in die Werte Runde!

Ich habe in einer Tabelle mehrere Werte und jetzt möchte ich zwei davon vergleichen.

Id ! inhalt ! var

Die zwei Werte frage ich über eine SELECT und LEFT JOIN ab

SELECT 
a.inhalt AS euro1,  b.inhalt AS euro2 
FROM money a 
LEFT JOIN money b ON b.var=125
WHERE a.var=109

Anschließend würde ich mittels PHP die beiden Werte vergleichen. Aber vielleicht könnte man auch diesen Vergleich gleich in der Datenbankabfrage erledigen?

Koni

  1. Hallo Koni,

    das SQL ist merkwürdig. Hast Du es falsch übertragen?

    Ein a LEFT JOIN b mit einer ON-Bedingung, wo ein Feld aus b mit einer Konstanten verglichen wird, ordnet allen Sätzen aus a, wo a.var=109 ist, diejenigen Sätze aus b zu, wo b.var den Wert 125 hat. Das sieht mir sehr fragwürdig aus - was willst Du da genau selektieren? Bis Du das beantwortet hast, lasse ich das aber erstmal so stehen.

    Einen Vergleich von a.inhalt und b.inhalt kannst Du im SQL natürlich machen.

    SELECT a.inhalt as euro1, b.inhalt as euro2
    FROM money a LEFT JOIN money b ON b.var=125
    WHERE a.var=109
    AND a.inhalt = b.inhalt
    

    würde nur die Sätze liefern, für die a.inhalt und b.inhalt den gleichen Wert haben.

    Ob eine Abfrage im SQL sinnvoll ist, hängt aber auch von den Rahmenbedingungen ab. Was genau soll verglichen werden, was willst Du damit im PHP anfangen? Du kannst auch so abfragen:

    SELECT a.inhalt = b.inhalt as istGleich
    FROM money a LEFT JOIN money b ON b.var=125
    WHERE a.var=109
    

    und bekommst dann den Wert 1 oder 0, je nach dem, ob die Inhalte gleich sind.

    Rolf

    --
    sumpsi - posui - clusi