Jag har en databas där man kan söka efter stamboksnummer, eller rättare sagt få upp en lista i nummerordning. En del hästar är exporterade från det landet, och då kommer inte de upp i sitt gamla lands lista som därmed inte blir komplett.
Har två olika stamboksnummer i databasen, den nya med tillhörande stamboksbetäckning (aktuell) och den gamla med dito (förra).
Kan man få med de gamla i en lista på aktuella hästar? Alltså att man får upp en komplett lista i nummerordning, även om hästen i fråga har ett annat stamboksnummer nu, helst ska den hamna på platsen för det gamla nummret.
Såhär ser det ut när man får upp listan för "IRE" i nummerordning
SQL = "SELECT namn, " & _
"hast_id, " & _
"bild_url " & _
" FROM hast " & _
"WHERE kon = '"& SafeSQL(Request.Form("kon")) &"' "& _
"AND namn like '" & SafeSQL(Request.Form("hast"))&"%' " & _
"AND stamboks_nr is not null " & _
"AND namn <> 'e' " & _
"AND namn <> 'u' " & _
"AND namn <> ' ' " & _
"AND ras <> 'Övrig' " & _
"AND ras = 'IRE' " & _
" ORDER BY stamboks_nr "
utlstbnr och utlstb heter kollumnerna jag vill ha med resp. få dem som inte hör till IRE numera ska sorteras efter.
Dvs blanda nya och gamla nummer
SELECT namn, hast_id, bild_url FROM hast WHERE kon = 'Hingst' AND namn like '%' AND stamboks_nr is not null AND namn <> 'e' AND namn <> 'u' AND namn <> ' ' AND ras <> 'Övrig' AND ras = 'IRE' ORDER BY stamboks_nr
Min första förklaring var visst väldigt luddig ser jag nu =S
Här kommer ett nytt försök till att beskriva vad jag vill:
Jag vill i första hand ha det nya nummret (IRE), och har den ett gammalt IRE-nummer (står i en annan kollumn) ska den också vara med i IRE-listan.
Vilken bok hästen tillhör står på ett ställe (tex nr 1 i stambok IRE), sen har den ev. ett gammalt nummer också (tex nr 2 i stambok IRE, då kanske den heter nr 10 i stambok Connemara)
När man letar efter honom kommer han upp i den svenska nummerordningen (Connemara), men jag vill att han även ska hamna på platsen för 151 när man söker efter IRE-hästar
Såhär vill jag att resultatet ska bli:
Win Lorenzo IRE 142
Royal Chieftain IRE 143
Gay Lorenzo IRE 144
Mac Mawgan IRE 148
Glenarde IRE 149
Roundstone Chief RC 1
Harvest Moon IRE 152
Moycullen Bobby IRE 154
Heather Legend IRE 156
Alla som har ett IRE-nummer har IRE i kolumnen ras, men Roundstone Chief har "Connemara" där, men IRE i utlstb. Dessutom vill jag enbart ha med "IRE" från utlstb (Det finns flera beteckningar)
* Ras är fel, igentligen ska det stå stambok, men det är av ren lathet det inte är ändrat... jag vet ju vad jag menar ändå
select namn
, ras
, stb_nrl
from hast
where 'IRE'
in (ras,utlstb)
and kon = '" & SafeSQL(Request.Form("kon")) & "'
and namn like '" & SafeSQL(Request.Form("hast")) & "%'
and namn
not in ('e','u',' ')
order
by iif(isnull(utlstbnr),stb_nrl,utlstbnr)
select namn
, ras
, stb_nrl
from hast
where 'IRE'
in (ras,utlstb)
and kon = '" & SafeSQL(Request.Form("kon")) & "'
and namn like '" & SafeSQL(Request.Form("hast")) & "%'
and namn
not in ('e','u',' ')
order
by iif(isnull(utlstbnr),stb_nrl,utlstbnr)
Provade att lägga in detta, och fick felmeddelandet "Expected Case" på rad 22, rad 22 är select namn
Sen visades 'IRE' som en komentar, så jag ändrade till ", det kanske man inte kan?
select namn
, ras
, stb_nrl
from hast
where 'IRE'
in (ras,utlstb)
and kon = '" & SafeSQL(Request.Form("kon")) & "'
and namn like '" & SafeSQL(Request.Form("hast")) & "%'
and namn
not in ('e','u',' ')
order
by coalesce(utlstbnr,stb_nrl)
SQL = _
"select namn" &_
" , ras" &_
" , stb_nrl" &_
" from hast" &_
" where 'IRE'" &_
" in (ras,utlstb)" &_
" and kon = '" & SafeSQL(Request.Form("kon")) & "'" &_
" and namn like '" & SafeSQL(Request.Form("hast")) & "%'" &_
" and namn" &_
"not in ('e','u',' ')" &_
"order" &_
" by coalesce(utlstbnr,stb_nrl)" &_
SQL = _
"select namn" &_
" , ras" &_
" , stamboks_nr" &_
" , bild_url" & _
" from hast" &_
" where 'IRE'" &_
" in (ras,utlstb)" &_
" and kon = '" & SafeSQL(Request.Form("kon")) & "'" &_
" and namn like '" & SafeSQL(Request.Form("hast")) & "%'" &_
" and namn" &_
"not in ('e','u',' ')" &_
"order" &_
" by coalesce(utlstbnr,stamboks_nr)" &_
Det blir felmeddelande "unexpected "new line"" på rad 36, det är efter att kodsnutten är slut, plockar jag bort &_ (på de gamla koderna slutar det med ") så får jag ett annat meddelande (Unknown column 'namnnot' in 'where clause' på rs.Open SQL, MinCon, så det antar jag är helfel, satte tillbaka &_ igen)
Att lägga till AND... borde inte vara några problem. Har du testat
SQL = _
"select namn" &_
" , ras" &_
" , stamboks_nr" &_
" , bild_url" & _
" from hast" &_
" where 'IRE'" &_
" in (ras,utlstb)" &_
" and kon = '" & SafeSQL(Request.Form("kon")) & "'" &_
" and namn like '" & SafeSQL(Request.Form("hast")) & "%'" &_
" and namn " &_
"not in ('e','u',' ') " &_
" and stamboks_nr is not null " &_
"order" &_
" by coalesce(utlstbnr,stamboks_nr)"
Att lägga till AND... borde inte vara några problem. Har du testat
SQL = _
"select namn" &_
" , ras" &_
" , stamboks_nr" &_
" , bild_url" & _
" from hast" &_
" where 'IRE'" &_
" in (ras,utlstb)" &_
" and kon = '" & SafeSQL(Request.Form("kon")) & "'" &_
" and namn like '" & SafeSQL(Request.Form("hast")) & "%'" &_
" and namn " &_
"not in ('e','u',' ') " &_
" and stamboks_nr is not null "
"order" &_
" by coalesce(utlstbnr,stamboks_nr)"
Det var så jag gjorde "Expected Identifier"
Edit: har ju missat &_ på slutet där =) Nu fungerar det
Men hur får jag dem sorterade i nummerordning? Nu är de sorterade efter första siffran, dvs 1,10,100,1000, 1001 osv