Adott egy tábla (t), benne két mező (x, y), le kellene szűrni egy olyan listát, amiben benne van az összes x, ahol y=k és az összes y, ahol x=k. Tehát nem x=k && y=k, hanem az összes olyan sor, ahol x=k vagy y=k és ezeknek a metszete, ahol x-re és y-ra is van k.
Ez most jó zavaros lett, de már teljesen le van rohadva az agyam, magamnak sem tudom megfogalmazni tisztességesen a problémát, hiába értem. De mondom rá az SQL megoldást, úgy lehet, hogy érthetővé válik:(SELECT DISTINCT `x` AS `z` FROM `t` WHERE `y` = k) INTERSECT (SELECT DISTINCT `y` AS `z` FROM `t` WHERE `x` = k) Na igen, ez jó is lenne, csak épp a szájbatekert MySQL-ben nincs INTERSECT. Kurwa jó, bazmeg. Viszont innen kipuskáztam egy INTERSECT "emulációt" és átírtam erre a problémára:SELECT `z` FROM
(
(SELECT DISTINCT `x` AS `z` FROM `t` WHERE `y` = k)
UNION ALL
(SELECT DISTINCT `y` AS `z` FROM `t` WHERE `x` = k)
) AS t1
GROUP BY `z` HAVING count(*) = 2 Kapja be a MySQL dev team és az Oracle, hogy ennyi kurwa sok év alatt nem tudtak egy rohadt INTERSECT parancsot belerakni ebbe a szarba... |