|
| Hent næste i tabel Fra : Harald |
Dato : 12-04-04 09:59 |
|
Hej
Jeg bruger MySQL 4.0.17
Jeg har en tabel med bla. følgende felter.
IDKode: int, autoinc
Enhedsnavn : varchar
Ankomst: date
Hvis jeg nu har en aktuel post hvor Enhedsnavn="45" og ankomst="2004-02-06"
så vil jeg gerne lave en SQL der finder den næste post i tabellen hvor
tabellen er sorteret i Enhedsnavn,Ankomst orden.
Tabellen kan f.eks. indeholde følgende poster:
IDkode, Enhedsnavn, Ankomst
23, 42, 2004-01-05
56, 45, 2004-02-06
77, 45, 2004-03-08
37, 50, 2004-02-22
Dvs. at hvis min aktuelle post er linie 2 så skal SQL´en give mig linie 3.
Hvis jeg bare siger:
SELECT * FROM mintabel WHERE Enhedsnavn>"45" LIMIT 1
så springes line 3 jo over og jeg får linie 4 hvilket ikke kan bruges.
Mvh
HK
| |
Harald (12-04-2004)
| Kommentar Fra : Harald |
Dato : 12-04-04 10:06 |
|
"Harald" <news10@-REMOVE-THIS-kroning.dk> skrev i en meddelelse
news:407a5a4b$0$462$edfadb0f@dread14.news.tele.dk...
> Hej
>
> Jeg bruger MySQL 4.0.17
>
> Jeg har en tabel med bla. følgende felter.
>
> IDKode: int, autoinc
> Enhedsnavn : varchar
> Ankomst: date
>
> Hvis jeg nu har en aktuel post hvor Enhedsnavn="45" og
ankomst="2004-02-06"
> så vil jeg gerne lave en SQL der finder den næste post i tabellen hvor
> tabellen er sorteret i Enhedsnavn,Ankomst orden.
>
> Tabellen kan f.eks. indeholde følgende poster:
>
> IDkode, Enhedsnavn, Ankomst
> 23, 42, 2004-01-05
> 56, 45, 2004-02-06
> 77, 45, 2004-03-08
> 37, 50, 2004-02-22
>
> Dvs. at hvis min aktuelle post er linie 2 så skal SQL´en give mig linie 3.
> Hvis jeg bare siger:
>
> SELECT * FROM mintabel WHERE Enhedsnavn>"45" LIMIT 1
Jeg mener selfølgelig:
SELECT * FROM mintabel WHERE Enhedsnavn>"45" ORDER BY Enhedsnavn, Ankomst
LIMIT 1
/HK
> så springes line 3 jo over og jeg får linie 4 hvilket ikke kan bruges.
>
> Mvh
> HK
>
>
| |
Kristian Damm Jensen (12-04-2004)
| Kommentar Fra : Kristian Damm Jensen |
Dato : 12-04-04 10:30 |
|
Harald wrote:
> "Harald" <news10@-REMOVE-THIS-kroning.dk> skrev i en meddelelse
> news:407a5a4b$0$462$edfadb0f@dread14.news.tele.dk...
>> Hej
>>
>> Jeg bruger MySQL 4.0.17
>>
>> Jeg har en tabel med bla. følgende felter.
>>
>> IDKode: int, autoinc
>> Enhedsnavn : varchar
>> Ankomst: date
>>
>> Hvis jeg nu har en aktuel post hvor Enhedsnavn="45" og
>> ankomst="2004-02-06" så vil jeg gerne lave en SQL der finder den
>> næste post i tabellen hvor tabellen er sorteret i Enhedsnavn,Ankomst
>> orden.
>>
>> Tabellen kan f.eks. indeholde følgende poster:
>>
>> IDkode, Enhedsnavn, Ankomst
>> 23, 42, 2004-01-05
>> 56, 45, 2004-02-06
>> 77, 45, 2004-03-08
>> 37, 50, 2004-02-22
>>
>> Dvs. at hvis min aktuelle post er linie 2 så skal SQL´en give mig
>> linie 3. Hvis jeg bare siger:
>>
>> SELECT * FROM mintabel WHERE Enhedsnavn>"45" LIMIT 1
>
> Jeg mener selfølgelig:
> SELECT * FROM mintabel WHERE Enhedsnavn>"45" ORDER BY Enhedsnavn,
> Ankomst LIMIT 1
SELECT *
FROM mintabel
WHERE Enhedsnavn>"45"
OR (Enhedsnavn="45" AND Ankomst > "2004-02-06"
ORDER BY Enhedsnavn, Ankomst
LIMIT 1
--
Kristian Damm Jensen damm (at) ofir (dot) dk
"On the whole he enjoyed the gift of speech, but something told him
that this was the time to employ the even rarer gift of silence." --
Terry Pratchett, The Fifth Elephant
| |
Harald (12-04-2004)
| Kommentar Fra : Harald |
Dato : 12-04-04 12:10 |
|
"Kristian Damm Jensen" <REdammMOVE@ofir.dk> skrev i en meddelelse
news:c5dnjp$eqsn$1@ID-146708.news.uni-berlin.de...
> Harald wrote:
> > "Harald" <news10@-REMOVE-THIS-kroning.dk> skrev i en meddelelse
> > news:407a5a4b$0$462$edfadb0f@dread14.news.tele.dk...
> >> Hej
> >>
> >> Jeg bruger MySQL 4.0.17
> >>
> >> Jeg har en tabel med bla. følgende felter.
> >>
> >> IDKode: int, autoinc
> >> Enhedsnavn : varchar
> >> Ankomst: date
> >>
> >> Hvis jeg nu har en aktuel post hvor Enhedsnavn="45" og
> >> ankomst="2004-02-06" så vil jeg gerne lave en SQL der finder den
> >> næste post i tabellen hvor tabellen er sorteret i Enhedsnavn,Ankomst
> >> orden.
> >>
> >> Tabellen kan f.eks. indeholde følgende poster:
> >>
> >> IDkode, Enhedsnavn, Ankomst
> >> 23, 42, 2004-01-05
> >> 56, 45, 2004-02-06
> >> 77, 45, 2004-03-08
> >> 37, 50, 2004-02-22
> >>
> >> Dvs. at hvis min aktuelle post er linie 2 så skal SQL´en give mig
> >> linie 3. Hvis jeg bare siger:
> >>
> >> SELECT * FROM mintabel WHERE Enhedsnavn>"45" LIMIT 1
> >
> > Jeg mener selfølgelig:
> > SELECT * FROM mintabel WHERE Enhedsnavn>"45" ORDER BY Enhedsnavn,
> > Ankomst LIMIT 1
>
>
> SELECT *
> FROM mintabel
> WHERE Enhedsnavn>"45"
> OR (Enhedsnavn="45" AND Ankomst > "2004-02-06"
> ORDER BY Enhedsnavn, Ankomst
> LIMIT 1
Ja selfølgelig, tak for det
/HK
| |
|
|