Rolf B: 2 Werte aus einer gleichen Tabelle vergleichen

Beitrag lesen

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