1 (edited by Mileris 2011-10-25 09:34:10)

Topic: SQL uzklausa WHERE id IN(1,2,3) and balance > (5,6,7)

Kodas toks

SELECT DISTINCT(id),SUM(credit)  FROM card WHERE id IN(1,2,3) AND credit > 0 AND credit < (7,5,6) GROUP BY id;

Neveikia palyginimas. As bandau padaryti,kad kiekvino id credit patikrintu atitinkamai kaip parasyta.

id 1 tikrintu credit <7
id 2 tikrintu credit <5
id 3 tikrintu credit <6

Nesumastau kaip priskirti.
Dekingas uz pagalba :)

Re: SQL uzklausa WHERE id IN(1,2,3) and balance > (5,6,7)

Tai turi ir rašti, visą sąlygą, tokio sutrumpinimo, kaip '< (7,5,6)' nėra.

Re: SQL uzklausa WHERE id IN(1,2,3) and balance > (5,6,7)

credit  BETWEEN 0 AND 7

var_dump(0 == 'tekstas'); // TRUE. ar zinai kodel? :)

4 (edited by Mileris 2011-10-25 09:36:06)

Re: SQL uzklausa WHERE id IN(1,2,3) and balance > (5,6,7)

Gal galima pvz, nes niekur nerandu kazko panasaus.
Between tiktu jeigu nereiktu ,kad kiekvienam atitinkamai reiktu tikrinti.

Re: SQL uzklausa WHERE id IN(1,2,3) and balance > (5,6,7)

WHERE
  (
    (id = 1) AND (credit > 0) AND (credit < 7)
    OR (id = 2) AND (credit > 0) AND (credit < 5)
    ...
  )

Re: SQL uzklausa WHERE id IN(1,2,3) and balance > (5,6,7)

Dekui , isgelbejot, bandysiu. dabar reiks issimusinet skaicius, nes as padares jog man juos sudetu 3,2,1,....
Darau kartu su php. O jeigu

WHERE
  (
    (id = 1) AND (credit > 0) AND (credit < 7)
  )

WHERE
  (
    (id = 2) AND (credit > 0) AND (credit < 5)
  )
WHERE
  (
    (id = 3) AND (credit > 0) AND (credit < 6)
  )

taip gali but?

Re: SQL uzklausa WHERE id IN(1,2,3) and balance > (5,6,7)

Mileris wrote:

taip gali but?

Na programavime spėliojimu geriau neužsiminėk. Turint omenyje, kad tuo užsiiminėti mes irgi nenorim - reikia vadovautis logika ir dokumentacija (-;

Pasižiūrėk dokumentacijoje ar gali būt daugiau negu vienas WHERE skyrius.

Re: SQL uzklausa WHERE id IN(1,2,3) and balance > (5,6,7)

Dar klausimas kaip pries sumuojant laukus prie ju prideti tarkim 1% ?
SUM(credit+1%) taip neveikia.

Re: SQL uzklausa WHERE id IN(1,2,3) and balance > (5,6,7)

per matematikos pamokas tikrai sakė kaip

MongoDB Certified Developer
MongoDB Certified DBA
Zend Certified Engineer

Re: SQL uzklausa WHERE id IN(1,2,3) and balance > (5,6,7)

Man irgi idomu, kaip ten toje mokykloje mokiai suskaičiuoja: 321 + 1% = ?

(-;

Re: SQL uzklausa WHERE id IN(1,2,3) and balance > (5,6,7)

minde wrote:

Man irgi idomu, kaip ten toje mokykloje mokiai suskaičiuoja: 321 + 1% = ?

(-;

= 321 + (1/100), tai, kad taip.. greičiausiai.. :DDD

12 (edited by Mileris 2011-10-25 17:05:55)

Re: SQL uzklausa WHERE id IN(1,2,3) and balance > (5,6,7)

Ko gi jus cia... Skaiciuoti viska moku :) Tiesiog taip paprastai parasiau :)  o skaiciuojant

SUM(balance + (balance*0.1)) man bendroje sumoje prides ta 1% ar prie kiekvieno iraso prides 1% ? Nes reikia,kad prie kiekvieno.

Re: SQL uzklausa WHERE id IN(1,2,3) and balance > (5,6,7)

Kad vis dėlto panašu kad nemoki... :/

Re: SQL uzklausa WHERE id IN(1,2,3) and balance > (5,6,7)

Dar vienas klausimas:

(2*0.01)+(3*0.01)+(4*0.01) = 0.09
(2+3+4)*0.01 = 0.09

Kur mažiau operacijų? Ir ar skiriasi rezultatas?

MongoDB Certified Developer
MongoDB Certified DBA
Zend Certified Engineer