/ 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
m/m inner join
Fra : Claus O


Dato : 01-10-03 12:40

Jeg har foreløbig en access database med dette udseende:
http://hjem.get2net.dk/cyberco/sql.gif
1/ Dette burde være rigtigt so far med mange-mange relationer?

Nu vil jeg gerne udtrække (via asp) ET itemID på
hvert varenr. samt ALLE farverne, men ender op med en
masse ItemID, helt nøjagtigt et for hver farve der findes.

2/ Hvordan undgår jeg dette og får hvert distinct ItemID
ud, med tilhørende antal farver? evt. omskrevet helt...?
(skal senere bruges til mysql, så sql må gerne være tilegnet denne)

FUT:dk.edb.internet.webdesign.serverside.asp



 
 
Kristian Damm Jensen (02-10-2003)
Kommentar
Fra : Kristian Damm Jensen


Dato : 02-10-03 06:36

"Claus O" <ClausOlsen@NOSPAMhotmail.com> skrev i en meddelelse
news:bleee7$d51$1@sunsite.dk...
> Jeg har foreløbig en access database med dette udseende:
> http://hjem.get2net.dk/cyberco/sql.gif

Dit link virker ikke.

<snip>

> FUT:dk.edb.internet.webdesign.serverside.asp

Hvorfor det, når spørgsmålet (så vidt jeg kan se) går på SQL?


--
Kristian Damm Jensen
damm (at) ofir (dot) dk



Thomas Due (01-10-2003)
Kommentar
Fra : Thomas Due


Dato : 01-10-03 12:55

Claus O wrote:

> 2/ Hvordan undgår jeg dette og får hvert distinct ItemID
> ud, med tilhørende antal farver? evt. omskrevet helt...?

Mig bekendt kan du ikke få et result ud hvor du samler en række records
i een record om man så må sige. Din SQL er korrekt, og resultatet er
som man kan forvente. Du vil nok være nødt til at efterbehandle
resultatet, så du får det ønskede format.

En eller anden, ret mig hvis jeg tager fejl.

--
Thomas Due
Software Developer
Scanvaegt Nordic A/S
Posted with XanaNews version 1.15.7.1

Claus O (01-10-2003)
Kommentar
Fra : Claus O


Dato : 01-10-03 13:32

"Thomas Due" <t.due@scanvaegt_REMOVE.dk> wrote

> som man kan forvente. Du vil nok være nødt til at efterbehandle
> resultatet, så du får det ønskede format.

Har du et foreslag/skitse til hvordan, med sammenhæng...



Thomas Due (01-10-2003)
Kommentar
Fra : Thomas Due


Dato : 01-10-03 13:53

Claus O wrote:

> "Thomas Due" <t.due@scanvaegt_REMOVE.dk> wrote
>
> > som man kan forvente. Du vil nok være nødt til at efterbehandle
> > resultatet, så du får det ønskede format.
>
> Har du et foreslag/skitse til hvordan, med sammenhæng...

Ja når du har dit result set, så løbet du det igennem.
Hver gang ID skifter laver du en ny linie hvor du samler dine farver.

//////////// CODE EXAMPLE START /////////////
Dim ID
Dim Farver

ID = ""
do while not RSItems.EOF
if RSItems.Fields("ID").Value <> ID then
ID = RSItems.Fields("ID").value
response.write "ID: " & ID & vbCrLf & _
"Farver: " & Farver & vbCrLf & vbCrLf
else
Farver = Farver & RSItems("Farve").Value & ", "
end if
Loop
//////////// CODE EXAMPLE END /////////////

Meget meget simpelt, du skal jo nok arbejde lidt med det, men det er
basalt set det jeg mener.

--
Thomas Due
Software Developer
Scanvaegt Nordic A/S
Posted with XanaNews version 1.15.7.1

Claus O (01-10-2003)
Kommentar
Fra : Claus O


Dato : 01-10-03 14:48

Thomas Due" wrote

> Hver gang ID skifter laver du en ny linie hvor du samler dine farver.

Det kunne godt lyde som en rigtig god måde, men jeg kan ikke få
nedenstående (omskrevet)til at virke (siden går helt død uden fejl)

Dim ID
Dim Farver
ID = ""
do while not objRS.EOF
if objRS.Fields("itemID").Value <> ID then
ID = objRS.Fields("itemID").value
response.write "ID: " & ID & vbCrLf & _
"Farver: " & Farver & vbCrLf & vbCrLf
else
Farver = Farver & objRS("color").Value & ", "
end if
Loop %>

For mig at se mangler der noget omkring "Farver" første gang?
mit recordsets (objRS) er itemID og color




Torben Brandt (01-10-2003)
Kommentar
Fra : Torben Brandt


Dato : 01-10-03 15:45

Claus O skrev:
> Thomas Due" wrote
>
>
>>Hver gang ID skifter laver du en ny linie hvor du samler dine farver.
>
>
> Det kunne godt lyde som en rigtig god måde, men jeg kan ikke få
> nedenstående (omskrevet)til at virke (siden går helt død uden fejl)
>
> Dim ID
> Dim Farver
> ID = ""
> do while not objRS.EOF
> if objRS.Fields("itemID").Value <> ID then
> ID = objRS.Fields("itemID").value
> response.write "ID: " & ID & vbCrLf & _
> "Farver: " & Farver & vbCrLf & vbCrLf
> else
> Farver = Farver & objRS("color").Value & ", "
> end if
> Loop %>

Du skal huske at indsætte et objRS.MoveNext et passende sted, ellers
laver du uendelige løkker...

> For mig at se mangler der noget omkring "Farver" første gang?
> mit recordsets (objRS) er itemID og color

Ja, ovenstående giver ikke den helt rigtige udskrivning, men det er den
ide, du skal bruge:
lastID = ""
alleFarver = ""
Do While Not objRS.EOF
If objRS("itemID") <> lastID Then
' Udskriv lastID med tilhørende farver
Response.Write "ID: " & lastID & ". " & _
"Farver: " & alleFarver & "<br>"
' Nulstil alleFarver
alleFarver = ""
End If

If alleFarver = "" Then
alleFarver = objRS("color")
Else
alleFarver = alleFarver & ", " & objRS("color")
End If
lastID = objRS("itemID")
objRS.MoveNext
Loop
' Vi fik aldrig udskrevet den sidste, så:
Response.Write "ID: " & lastID & ". " & _
"Farver: " & alleFarver & "<br>"

/Torben


Claus O (01-10-2003)
Kommentar
Fra : Claus O


Dato : 01-10-03 17:36

"Torben Brandt" <name@domain.invalid> wrote

> Ja, ovenstående giver ikke den helt rigtige udskrivning, men det er den
> ide, du skal bruge:
> ' Udskriv lastID med tilhørende farver
> Response.Write "ID: " & lastID & ". " & _
> "Farver: " & alleFarver & "<br>"

Tak til jer begge. Det begynder at ligne noget.....
men jeg har en "kedelig" ID: Farver: som startlinie uden indhold,
som jeg ikke lige kan se hvordan jeg får væk?



Torben Brandt (01-10-2003)
Kommentar
Fra : Torben Brandt


Dato : 01-10-03 21:09

Claus O skrev:
> Torben Brandt wrote:
>
>>Ja, ovenstående giver ikke den helt rigtige udskrivning, men det er den
>>ide, du skal bruge:
>> ' Udskriv lastID med tilhørende farver
>> Response.Write "ID: " & lastID & ". " & _
>> "Farver: " & alleFarver & "<br>"
>
>
> Tak til jer begge. Det begynder at ligne noget.....
> men jeg har en "kedelig" ID: Farver: som startlinie uden indhold,
> som jeg ikke lige kan se hvordan jeg får væk?

Nå ja, den havde jeg ikke lige set.
Inden Do-løkken sætter vi
lastID = ""
I stedet skal den linie være
lastID = objRS("itemID")

Så kommer vi ikke ind i If-sætningen ved første gennemløb, og der bliver
ikke udskrivet noget dér (tror det virker :) )

/Torben


Claus O (02-10-2003)
Kommentar
Fra : Claus O


Dato : 02-10-03 20:06

"Torben Brandt" <name@domain.invalid> wrote

> I stedet skal den linie være
> lastID = objRS("itemID")

Ja tak, det virker.
Men hvis jeg ender op med omkring 20 variabler der skal printe hver itemID
ud med tilhørende "ting og sager", er denne måde da ikke lidt rigelig resourcekrævende?
Kan man ikke brygge noget sammen hvor variabler kun bruges i de tilfælde hvor der er
m/m relationer og bruger normale objRS("felt") udskrivning på alle de øvrige?



Torben Brandt (02-10-2003)
Kommentar
Fra : Torben Brandt


Dato : 02-10-03 22:18

Claus O skrev:
> Torben Brandt wrote:
>
>>I stedet skal den linie være
>> lastID = objRS("itemID")
>
> Men hvis jeg ender op med omkring 20 variabler der skal printe hver itemID
> ud med tilhørende "ting og sager", er denne måde da ikke lidt rigelig resourcekrævende?
> Kan man ikke brygge noget sammen hvor variabler kun bruges i de tilfælde hvor der er
> m/m relationer og bruger normale objRS("felt") udskrivning på alle de øvrige?

Jeg ville umiddelbart ikke tro det var så slemt.
Ellers kan jeg komme i tanke om Recordset.GetRows, som vist nok henter
alle data i objRS over i et (flerdimensionelt) array, som du så kan
cykle rundt i...

/Torben


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

Månedens bedste
Årets bedste
Sidste års bedste