Jump to content

SUBIECTE NOI
« 1 / 5 »
RSS
Plasa de umbrire peste gard de pl...

O smecherie pe care nu o inteleg

Balcon parter fara acte

unde gasesc un speed bag in bucur...
 Programe TV cu altfel de sporturi

Laptop "bun la toate" max...

navigatie noua vw tiguan

ctfmon.exe - System Error (in Saf...
 Ați prins vremurile cand 120 Volț...

Whatsapp nu afișeaza numele ...

Medii admitere Politehnica Bucure...

Se extinde Baza de la Kogalniceanu
 Politist mutilat de caine in curt...

Trotineta- cat rezista?

Windows 11 si inregistrare de pe ...

Cont Facebook spart
 

Interogare MYSQL DataBase

- - - - -
  • Please log in to reply
5 replies to this topic

#1
jonathan_92

jonathan_92

    New Member

  • Grup: Junior Members
  • Posts: 3
  • Înscris: 25.04.2015
Salut.. Am asa o problema...Am create doua tabele Products si Management...Le puteti vedea atasate.

Conditia problemei , trebuieste sa alcatuiesc o interogare ce primeste un IMPUT de la user de tip date , si va returna ce produse au fost modificate dupa pret,adica dupa
cimpul Price_Update..Trebuie sa returneze doar ultima modificare, comparind-o cu INPUT-ul userului...


Asadar , daca INPUT-ul va fi '2015-01-28' rezultatul va fi pentru produsul cu id-ul 1 , '2015-01-27' doar acesta ...si nicidecum '2015-01-19'..

Sper ca am expus conditia pe inteles, multumesc ! O zi buna !  O sa fiu recunoscator pentru o idee de solutie !

Attached Files



#2
raphy

raphy

    Member

  • Grup: Members
  • Posts: 420
  • Înscris: 28.02.2006
Salut,

Daca am inteles eu bine ce doresti tu, nu trebuie decat sa selectezi decat data maxima de dinainte de data transmisa, adica ceva de genul

SELECT MAX(price_update) FROM management WHERE price_update < data_input

Mai departe cu data asta poti sa verifici despre ce produs este vorba.

Edited by raphy, 25 April 2015 - 15:45.


#3
jonathan_92

jonathan_92

    New Member

  • Grup: Junior Members
  • Posts: 3
  • Înscris: 25.04.2015
ai inteles corect Raphy, trebuie sa-mi returneze doar ultima modificare in comparatie cu data din INPUT ...

am sa incerc acum sa merg pe ideea propusa de tine, problema e ca sunt nou in SQL si am careva constringeri in sintaxa...dar acus testez iddea propusa de tine si Multumesc, am uitat sa spun prima data ! :)

SELECT max(Price_Update) as 'Last_Price_Update' FROM management
WHERE Price_Update < '2015-01-28' and Product_ID = 1;


doar ca am nevoie de un output  de genul : Product_ID, Last_Price_Update ...., pentru fiecare din produse

#4
jonathan_92

jonathan_92

    New Member

  • Grup: Junior Members
  • Posts: 3
  • Înscris: 25.04.2015
SELECT Operation_ID,Product_ID,max(Price_Update) as 'Last_Price_Update'
FROM management
WHERE Price_Update < '2015-01-25' ;


Product_ID ar trebui sa fie 5, dar imi reintoarce 1 de fiecare data ...

#5
raphy

raphy

    Member

  • Grup: Members
  • Posts: 420
  • Înscris: 28.02.2006
Da, ultima ta interogare afiseaza pe rand Operation_ID, Product_ID si data maxima...iti intoarce 1 pentru ca 1 este pe prima linie in tabel.
Ideea e sa faci ceva de genul

SELECT * FROM management WHERE price_update =
(SELECT MAX(price_update) FROM management WHERE price_update < '2015-01-28')



#6
benulnec

benulnec

    Junior Member

  • Grup: Members
  • Posts: 200
  • Înscris: 09.04.2007
Raphy, decat sa foloseasca un subselect nu mai bine merge pe query-ul lui adaugand limit si order by?

Quote

SELECT Operation_ID,Product_ID,Price_Update as 'Last_Price_Update'
FROM management
WHERE Price_Update <= '2015-01-25' ORDER BY Price_Update DESC LIMIT 1 ;

jonathan_92, daca stii ca o sa ai multe astfel de select-uri, fa-ti un index compus pe coloanele Operation_ID,Product_ID,Price_Update (https://dev.mysql.co...mn-indexes.html) ca sa-ti faciliteze cautarea.

Anunturi

Second Opinion Second Opinion

Folosind serviciul second opinion ne puteți trimite RMN-uri, CT -uri, angiografii, fișiere .pdf, documente medicale.

Astfel vă vom putea da o opinie neurochirurgicală, fără ca aceasta să poată înlocui un consult de specialitate. Răspunsurile vor fi date prin e-mail în cel mai scurt timp posibil (de obicei în mai putin de 24 de ore, dar nu mai mult de 48 de ore). Second opinion – Neurohope este un serviciu gratuit.

www.neurohope.ro

0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users

Forumul Softpedia foloseste "cookies" pentru a imbunatati experienta utilizatorilor Accept
Pentru detalii si optiuni legate de cookies si datele personale, consultati Politica de utilizare cookies si Politica de confidentialitate