/ Forside / Teknologi / Udvikling / SQL / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
SQL
#NavnPoint
pmbruun 1704
niller 962
fehaar 730
Interkril.. 701
ellebye 510
pawel 510
rpje 405
pete 350
gibson 320
10  smorch 260
en tricky query på MySQL
Fra : Lars L. Christensen


Dato : 07-04-05 22:57

davs i gruppen

Har en lille tricky query, som jeg ikke lige kan knække.

Jeg har en database, hvori der er et antal tabeller. Jeg henter nogle data
fra 2 tabeller i stil med:

tabel1.idx    (1,2,3,4)
tabel1.navn    (anna,bodil,charlie,dennis)
tabel1.alder    (12,23,34,45)

tabel2.skole    (askole,bskole,cskole)
tabel2.alder    (6,12,18)
tabel2.ledig    (ja,ja,nej)

der laves en select i stil med:

select * from tabel1 where navn = 'anna'

ideen er, at alderen på anna skal matches op imod alderen i tabel2.alder,
således at anna godt kan gå i askole, men ikke er gammel nok til bskole og
cskole. Problemet er, at der også skal være plads i skolen (tabel2.ledig =
ja) for at der skal gives et positivt resultat tilbage.

Jeg ved ikke om folket kan forstå hvad jeg har i tankerne, men er der nogen
der kan løse problemet?

mvh
Lars Christensen


 
 
Peter Brodersen (07-04-2005)
Kommentar
Fra : Peter Brodersen


Dato : 07-04-05 23:03

On 7 Apr 2005 23:56:32 +0200, "Lars L. Christensen"
<llc@dansketelecom.com> wrote:

>ideen er, at alderen på anna skal matches op imod alderen i tabel2.alder,
>således at anna godt kan gå i askole, men ikke er gammel nok til bskole og
>cskole. Problemet er, at der også skal være plads i skolen (tabel2.ledig =
>ja) for at der skal gives et positivt resultat tilbage.

SELECT tabel1.navn, tabel2.skole
FROM tabel1, tabel2
WHERE tabel1.navn = 'anna'
AND tabel1.alder >= tabel2.alder
AND tabel2.ledig = 'ja'

--
- Peter Brodersen

Kim Schulz (08-04-2005)
Kommentar
Fra : Kim Schulz


Dato : 08-04-05 06:44

On 7 Apr 2005 23:56:32 +0200
"Lars L. Christensen" <llc@dansketelecom.com> wrote:

> davs i gruppen
>
> Har en lille tricky query, som jeg ikke lige kan knække.
>
> Jeg har en database, hvori der er et antal tabeller. Jeg henter nogle
> data fra 2 tabeller i stil med:
>
> tabel1.idx    (1,2,3,4)
> tabel1.navn    (anna,bodil,charlie,dennis)
> tabel1.alder    (12,23,34,45)
>
> tabel2.skole    (askole,bskole,cskole)
> tabel2.alder    (6,12,18)
> tabel2.ledig    (ja,ja,nej)
>
> der laves en select i stil med:
>
> select * from tabel1 where navn = 'anna'
>
> ideen er, at alderen på anna skal matches op imod alderen i
> tabel2.alder, således at anna godt kan gå i askole, men ikke er
> gammel nok til bskole og cskole. Problemet er, at der også skal være
> plads i skolen (tabel2.ledig = ja) for at der skal gives et positivt
> resultat tilbage.
>
> Jeg ved ikke om folket kan forstå hvad jeg har i tankerne, men er der
> nogen der kan løse problemet?


SELECT * FROM tabel1, tabel2
WHERE
tabel1.alder = tabel2.alder
AND
tabel1.name='anna'
AND
tabel2.ledig='ja'

--
Kim Schulz | Fundanemt Content Management system:
Geek by nature | http://www.fundanemt.com
schulz.dk | http://www.fundausers.org

Kim Andersen (08-04-2005)
Kommentar
Fra : Kim Andersen


Dato : 08-04-05 09:07

SELECT * FROM tabel1, tabel2
WHERE
tabel1.alder = tabel2.alder
AND
tabel1.name='anna'
AND
tabel2.ledig='ja'


Måske en LIKE i steden for =, da LIKE er ligeglad med stor og små bogstaver.

/Kim



Troels Arvin (08-04-2005)
Kommentar
Fra : Troels Arvin


Dato : 08-04-05 09:51

On Fri, 08 Apr 2005 10:06:37 +0200, Kim Andersen wrote:

> Måske en LIKE i steden for =, da LIKE er ligeglad med stor og små bogstaver.

I MySQL er =-operatoren som udgangspunkt også case insensitive.

--
Greetings from Troels Arvin, Copenhagen, Denmark


Kim Andersen (08-04-2005)
Kommentar
Fra : Kim Andersen


Dato : 08-04-05 10:53

> > Måske en LIKE i steden for =, da LIKE er ligeglad med stor og små
bogstaver.
>
> I MySQL er =-operatoren som udgangspunkt også case insensitive.
>

Der kan man bare se

/Kim



Søg
Reklame
Statistik
Spørgsmål : 177459
Tips : 31964
Nyheder : 719565
Indlæg : 6408188
Brugere : 218881

Månedens bedste
Årets bedste
Sidste års bedste