1 (edited by majklas 2011-10-19 09:29:27)

Topic: dvieju lenteliu join su sum

Sveiki,

turiu tokia beda, kad nemoku ishsilupti reikiamu duomenu, su logika viskas ok, tik aprasyti taisyklingai nemoku..
Man reikia is dvieju mysql duomenu baziu jas sukergus islupti visas prekes kurios turi pozymi akcijine (t.y. nauja_kaina!='0.00') ir jos likutis yra <1
Likucius reikia susumuoti pagal kodus nes gali buti skirtinguose padaliniuose, visible reiskia kad preke matoma, t.y. aktyvi.

kolkas galvojau kad pasiseks man taip padaryti..

SELECT 
p.id as ID,
p.pragma_kodas as kodas,
p.title as Title,
sum(l.likutis) as Likutis
FROM plyteles_lik.likuciai l
LEFT JOIN plyteles_db.products p
on p.pragma_kodas=l.kodas WHERE p.nauja_kaina!='0.00' 
and p.visible=1 and l.likutis<1
GROUP BY l.kodas;

bet man ismeta nesusumuotas reiksmes ir gaunu tik 2 eilutes..
Tada bandau as tik su viena db pasirikiuoti ir viskas veikia (t.y. geri, teisingi duomenys):

SELECT * FROM (
    SELECT sum(l.likutis) AS likuciu_suma,
    l.kodas AS Lkodas FROM plyteles_lik.likuciai l
    GROUP BY l.kodas) AS laikina
WHERE likuciu_suma<1

kaip sujungti tas dvi db kad gauti man taip reikiamas prekes su likuciu <1 ir matomas ir nauja_kaina!=0.00?

Re: dvieju lenteliu join su sum

YES, man pavyko :) pasakykit ar viskas teisinga :)

SELECT likutis, kodas, p.id, p.title, p.kaina, p.nauja_kaina,p.manufacturer,  from (
SELECT likutis, kodas
FROM (
SELECT SUM( l.likutis ) AS likutis, l.kodas AS kodas
FROM plyteles_lik.likuciai l
GROUP BY kodas
) AS table1
WHERE likutis<1
ORDER BY likutis) as laikina
left join plyteles_db.products p on
kodas=p.pragma_kodas
Where p.visible=1
and p.nauja_kaina!=0.00