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

Kodeord


Reklame
Top 10 brugere
ASP
#NavnPoint
smorch 9259
Harlekin 1866
molokyle 1040
Steffanst.. 758
gandalf 657
smilly 564
gibson 560
cumano 530
MouseKeep.. 480
10  Random 410
Problem med SQL-sætning
Fra : Martin Jensen


Dato : 23-03-09 20:59

Hej NG. Jeg er kommet til endnu en SQL-sætning som jeg håber en
af jer kan hjælpe med. Jeg har 2 tabeller i min MSSQL database
som jeg ser som nødvendige til dette kald

Medlem
-----------
ID
Telefon
VirksomhedID


MedlemInteresser
------------
ID
MedlemID
InteresseID

Jeg skal have udvalgt Medlem.Telefon for alle de medlemmer som er
interesseret i MedlemInteresser.InteresseID (1 ELLER 3) OG (4
eller 6)

Jeg kan ikke lige regne den ud, da jeg ikke ”bare” kan bruge
WHERE MedlemInteresser.InteresseID IN (1,3) AND
MedlemInteresser.InteresseID IN (4,6), fordi der for hver post i
MedlemInteresser jo kun er en værdi i InteresseID.

Jeg kunne forestille mig at jeg blev nødt til at lave to kald. 1.
Hvor MedlemInteresser.InteresseID = 1 eller 3. 2. Hvor
MedlemInteresser.InteresseID = 4 eller 6, og så sammenligne de to
resultater. Om dette er rigtigt, og hvordan det gøres smartest
ved jeg dog ikke noget om.


--
Vil du lære at kode HTML, XHTML, CSS, SSI, ASP eller ASP.NET?
- Pædagogiske tutorials på dansk
- Kom godt i gang med koderne
KLIK HER! => http://www.html.dk/tutorials

 
 
Leif Neland (23-03-2009)
Kommentar
Fra : Leif Neland


Dato : 23-03-09 21:38

Martin Jensen skrev:
> Hej NG. Jeg er kommet til endnu en SQL-sætning som jeg håber en
> af jer kan hjælpe med. Jeg har 2 tabeller i min MSSQL database
> som jeg ser som nødvendige til dette kald
>
> Medlem
> -----------
> ID
> Telefon
> VirksomhedID
>
>
> MedlemInteresser
> ------------
> ID
> MedlemID
> InteresseID
>
> Jeg skal have udvalgt Medlem.Telefon for alle de medlemmer som er
> interesseret i MedlemInteresser.InteresseID (1 ELLER 3) OG (4
> eller 6)
>
select telefon from medlem m
inner join medlemsinteresser m1 on m.ID=m1.MedlemId
inner join medlemsinteresser m2 on m.ID=m2.MedlemId
where m1.InterreseID in (1,3) and m2.InteresseID in (2,6)

Leif

Martin Jensen (23-03-2009)
Kommentar
Fra : Martin Jensen


Dato : 23-03-09 22:07

Leif Neland wrote in dk.edb.internet.webdesign.serverside.asp:

> select telefon from medlem m
> inner join medlemsinteresser m1 on m.ID=m1.MedlemId
> inner join medlemsinteresser m2 on m.ID=m2.MedlemId
> where m1.InterreseID in (1,3) and m2.InteresseID in (2,6)

Super mange tak Leif. Det virker som det skal.

Lige et tillægsspørgsmål så jeg måske kan lære lidt mere

Hvorfor bruger du m i select telefon from medlem m?
Er det for at gøre sætningen kortere ved on m.ID= eller hvad er
grunden?


--
Vil du lære at kode HTML, XHTML, CSS, SSI, ASP eller ASP.NET?
- Pædagogiske tutorials på dansk
- Kom godt i gang med koderne
KLIK HER! => http://www.html.dk/tutorials

Stig Johansen (23-03-2009)
Kommentar
Fra : Stig Johansen


Dato : 23-03-09 22:16

Martin Jensen wrote:

> Hvorfor bruger du m i select telefon from medlem m?
> Er det for at gøre sætningen kortere ved on m.ID= eller hvad er
> grunden?

Jeg kan ikke svare på Leif's vegne, men jeg gør det samme.
Det sidder simpelthen i 'aftrækkerfingeren', at bruge alias'er så snart der
er joins involveret.

For mig er det en vane, men jeg synes også joins bliver mere overskuelige
(læsbare).

--
Med venlig hilsen
Stig Johansen

Leif Neland (24-03-2009)
Kommentar
Fra : Leif Neland


Dato : 24-03-09 20:20

Stig Johansen skrev:
> Martin Jensen wrote:
>
>> Hvorfor bruger du m i select telefon from medlem m?
>> Er det for at gøre sætningen kortere ved on m.ID= eller hvad er
>> grunden?
>
> Jeg kan ikke svare på Leif's vegne, men jeg gør det samme.
> Det sidder simpelthen i 'aftrækkerfingeren', at bruge alias'er så snart der
> er joins involveret.
>
> For mig er det en vane, men jeg synes også joins bliver mere overskuelige
> (læsbare).
>

Netop.

Nogen gange laver jeg joins over flere databaser, og så er det mere
overskueligt at bruge et alias for
andendatabase.owner.tabelnavn

Leif

Søg
Reklame
Statistik
Spørgsmål : 177579
Tips : 31968
Nyheder : 719565
Indlæg : 6409073
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste