Search  
Saturday, February 11, 2012 ..:: Forum ::.. Register  Login
 Forum Minimize
Pentru a putea posta mesaje trebuie să vă înregistraţi.
Notă: Mesajele cu conţinut jignitor sau ilegal (inclusiv cereri de soft piratat) nu sunt acceptate şi vor fi şterse imediat .

Pentru a primi raspunsuri rapide si corecte, scrieti in mesaj ce intentionati sa faceti, ce mesaj de eroare primiti, in ce context si in urma caror actiuni. De asemenea, mentionati versiunea de FoxPro in care lucrati!
Dacă nu specificați versiunea, se consideră VFP 9.0 SP2.

SearchForum Home
  Visual FoxPro  Baze de date, tabele, view-uri si indecsi  select distinct...
 select distinct
 
 2/14/2009 11:58:24 PM
User is offlinevoineamihai
12 posts


select distinct
 (N/A)
Am o tabela "TABELA" ce contine un camp "LUNA"  tip caracter.
Cum pot face ca rezultatul interogarii cu "select distinct LUNA  from TABELA  into cursor B" sa nu fie ordonat alfabetic?

Multumesc!
 2/15/2009 10:34:38 AM
User is offlineanonymous
0 posts


Re: select distinct
 (United Kingdom)
SELECT DISTINCT Luna FROM Tabela INTO CURSOR B ORDER BY Luna
 2/15/2009 10:38:06 PM
User is offlinevoineamihai
12 posts


Re: select distinct
 (N/A)
Cristi, asa, rezulatul este ordonat alfabetic, functie de numele lunii,
 Eu vreau ca in cursor lunile sa fie in ordinea fizica din tabela din care se face selectia
Uite in continuare ce rezulta cu "SELECT DISTINCT Luna FROM Tabela INTO CURSOR B ORDER BY Luna"

   LUNA C(25)
IANUARIE
IANUARIE
FEBRUARIE
FEBRUARIE
MARTIE
APRILIE
APRILIE
APRILIE
MAI
MAI
MAI
IUNIE
IUNIE
IULIE
IULIE
IULIE
AUGUST
SEPTEMBRIE
SEPTEMBRIE
OCTOMBRIE
OCTOMBRIE
NOIEMBRIE
NOIEMBRIE
DECEMBRIE
DECEMBRIE

SELECT DISTINCT Luna FROM Tabela INTO CURSOR B ORDER BY Luna >

APRILIE
AUGUST
DECEMBRIE
FEBRUARIE
IANUARIE
IULIE
IUNIE
MAI
MARTIE
NOIEMBRIE
OCTOMBRIE
DECEMBRIE



 2/15/2009 11:24:10 PM
User is offlineanonymous
0 posts


Re: select distinct
 (United Kingdom)
Aaa, scuza-ma nu am vazut nu-ul :) Pai teoretic daca nu pui nici o conditie de ordonare inregistrarile ar trebui sa fie ordonate in ordinea fizica din tabela. Dar daca nu merge incearca

SELECT DISTINCT Luna, RECNO() AS RecNumber FROM Tabela INTO CURSOR xCursor ORDER BY RecNumber
 2/15/2009 11:54:08 PM
User is offlinevoineamihai
12 posts


Re: select distinct
 (N/A)
cu "Select distinct LUNA, RECNO() as RecNumber" afiseaza toate inregistrarile ...
 2/16/2009 8:53:31 AM
User is offlineCostel
225 posts
www.adrisoft.ro
4th




Re: select distinct
 (N/A)
Iti propun un artificiu pentru problema ta:
Select distinct LunaN(luna) as nr_luna, luna from TabelaMea

FUNCTION LunaN
    LPARAMETERS cLun
    LOCAL nLun
    cLun=ALLTRIM(PROPER(cLun))
    nLun=iif(cLun='Ianuarie',1,iif(cLun='Februarie',2,iif(cLun='Martie',3,0)))
    nLun=iif(cLun='Aprilie',4,iif(cLun='Mai',5,iif(cLun='Iunie',6,nLun)))
    nLun=iif(cLun='Iulie',7,iif(cLun='August',8,iif(cLun='Septembrie',9,nLun)))
    nLun=iif(cLun='Octombrie',10,iif(cLun='Noiembrie',11,iif(cLun='Decembrie',12,nLun)))
    return nLun
ENDFUNC





Nu munci atit de mult incit sa nu-ti mai ramina timp ca sa cistigi bani. (proverb evreiesc)
 2/16/2009 1:00:28 PM
User is offlinevoineamihai
12 posts


Re: select distinct
 (N/A)

  Multumesc pentru raspuns, dar se pare ca problema mea nu a fost corect  inteleasa,

    nu vreau rezultatul in ordinea lunilor anului: Ianuarie, Februarie, Martie......  Decembrie
    ci in ordinea in care sunt in tabela din care fac selectia  Martie, Martie, Februarie, Februarie, Ianuarie, Decembrie, Decembrie, Mai, Mai....
    insa fara ca vreuna dintre luni sa se repete (distinct)
 2/16/2009 1:13:28 PM
User is offlineDaniel Buduru
2141 posts
1st




Re: select distinct
 (Romania)
 voineamihai wrote

  Multumesc pentru raspuns, dar se pare ca problema mea nu a fost corect  inteleasa,

    nu vreau rezultatul in ordinea lunilor anului: Ianuarie, Februarie, Martie......  Decembrie
    ci in ordinea in care sunt in tabela din care fac selectia  Martie, Martie, Februarie, Februarie, Ianuarie, Decembrie, Decembrie, Mai, Mai....
    insa fara ca vreuna dintre luni sa se repete (distinct)


SELECT luna, MIN(nrecord)  FROM (SELECT luna, RECNO() as nrecord FROM Tabela) aa GROUP BY luna ORDER BY 2

Daniel Buduru
 2/16/2009 2:05:06 PM
User is offlinevoineamihai
12 posts


Re: select distinct
 (N/A) Modified By voineamihai  on 2/18/2009 10:12:56 AM)
Multumesc tuturor pentru solutuiile propuse,

Am rezolvat cu solutia propusa de catre Daniel Buduru:
SELECT luna, MIN(nrecord)  FROM (SELECT luna, RECNO() as nrecord FROM Tabela) aa GROUP BY luna ORDER BY 2

cu mentiunea ca functioneaza numai cu VFP9, si ca ar fi interesant de gasit o solutie si pentru VFP8.
 
 2/18/2009 10:16:48 AM
User is offlineDaniel Buduru
2141 posts
1st




Re: select distinct
 (N/A) Modified By Daniel Buduru  on 2/18/2009 10:22:55 AM)
 voineamihai wrote
Multumesc tuturor pentru solutuiile propuse,

Am rezolvat cu solutia propusa de catre Daniel Buduru:
SELECT luna, MIN(nrecord)  FROM (SELECT luna, RECNO() as nrecord FROM Tabela) aa GROUP BY luna ORDER BY 2

cu mentiunea ca functioneaza numai cu VFP9, si ca ar fi interesant de gasit o solutie si pentru VFP8.
 


SELECT luna, MIN(RECNO())  FROM Tabela GROUP BY luna ORDER BY 2

Forma anterioara (select ... from (select ...) permite selectarea mai multor campuri, si o folosesc in mod curent. In cazul acesta - un singur camp + campul pentru ordonare -  nu mai e necesar selectul interior.

Daniel Buduru
 2/18/2009 10:21:42 AM
User is offlinevoineamihai
12 posts


Re: select distinct
 (N/A)
Am rezolvat cu solutia propusa de catre Daniel Buduru:
SELECT luna, MIN(nrecord)  FROM (SELECT luna, RECNO() as nrecord FROM Tabela) aa GROUP BY luna ORDER BY 2

cu mentiunea ca functioneaza numai cu VFP9 si ar fi interesant de gasit o solutie si pentru VFP8.
 2/18/2009 5:08:34 PM
User is offlineDaniel Buduru
2141 posts
1st




Re: select distinct
 (N/A)
Se pare ca exista un bug ...
SELECT luna, MIN(RECNO()) FROM Tabela GROUP BY luna ORDER BY 2  pune untimul RECNO() in toate inregistrarile ...

SELECT luna, RECNO() as nrecord FROM tabela INTO CURSOR crs1
SELECT luna, MIN(nrecord) FROM crs1 GROUP BY luna ORDER BY 2
Functioneaza cel putin in VFP7 (nu mai stiu de la ce versiune este valid SELECT RECNO() )


Daniel Buduru
  Visual FoxPro  Baze de date, tabele, view-uri si indecsi  select distinct...

Search  Forum Home         

 Google Ads Minimize

    

Copyright 2002-2010 Profox   Terms Of Use  Privacy Statement