webForumDet fria alternativet

SQL Trubbel... What to do!?

8 svar · 226 visningar · startad av T_Codez

T_CodezMedlem sedan juli 2001458 inlägg
#1

Här är något att bita i (tror jag). JAg vet varken ut eller in!?

Min problematik ligger i att:

1. Jag har en tabell "tblupdate".

2. Jag har en User inloggad som har en del settings lagrade i en Cookie.

Tabellen har följande fält som breörs:

U_UCode = Response.Cuukies("User_UCCode")

#: fltuidnr
Fält: fltkategori Artikelkategori (t ex "ASP")
Fält: fltCCode Countrycode
Fält: fltLCode LanguageCode
Fält: fltTitel Artikel Titel

I ett första läge skrivs allt på engelska. Min tanke är att man ska
kunna editera och översätta detta för att sedan spara ner en svensk
variant av samma artikel på databasen i en ny post. Så långt allting
väl.

Nu ska jag lista samtliga artiklar som är på "se" (svenska) eller vad
nu den inloggade har i sin UserCookie. Vi antar att han är svensk.

Att bara lista de artiklar som är skrivna på svenska är inga problem,
men det jag skulle vilja i och med att alla engelska artiklar ännu inte
är översatta. är att:

Man hämtar de Engelska & Svenska artiklarna.

Sedan om den Engelska artikeln redan finns översatt till Svenska så ska
denna inte tas med. Så slipper jag en massa dubletter i onödan.

Nu medans jag skriver så förstår jag att varje artikel måste ha något
unikt men som fortfarande har samma värde i den översatta delen så
att man kan skilja dem åt.

Skapade därför: "fltArtikelNR" i databasen.

SÅ här långt har jag kommit. Sen är det stopp.

Vad och hur skulle ni göra?

SQL = "SELECT * FROM tblUpdate WHERE fltKategori='ASP' AND fltCountryCode ='" &U_CCode &"' AND 'uk'"

Denna tar bara fram artiklarna. Sedan vill jag ha de Engelska artiklarna som redan är översatta inte ska komma med i
min listning.

What to do ?

Kan man göra det direkt i SQL satsen?

Tacksam för alla tips.

------------------
There is no Tomorrow...

[Redigerat av T_Codez den 20 jul 2001]

EclipseMedlem sedan juli 20003 825 inlägg
#2

Heja!

tblUpdate borde du definitivt hitta ett bättre namn på.

1. Av sammanhanget framgår att det är en tabell. Skippa tbl.
2. Update är, för att vara ärlig, inget bra namn på en tabell. Ge ett mer beskrivande namn, t.ex. users, bookmarks... eller vad det nu är.

Samma sak med dina fält, skippa flt, det ger sig liksom...

Ska du ha mellanslag måste du ha hakar.

Exempel:
SQL = "SELECT * FROM [users] WHERE [x_ID] = " & request("ID") & ";"

Tabellen heter users och fältet som efterfrågas heter x_ID.

------------------
OLR WebAdmin

[Redigerat av Eclipse den 20 jul 2001]

T_CodezMedlem sedan juli 2001458 inlägg
#3

Well...

Jag ser läser och hör. Samt tar åt mig.

Antar att det där med namnkonventionerna lär man sig varteftersom. Och som du säger tblupdate är inte det bästa namnet, men när jag började kändes det bra då tabellen ska updatera artiklar och dess innehåll.

Och tack för lektionen angående mellanslag(viiste ej det). Men jag har inte använt mig av mellanslag. De ser helt enkelt ut så med underscore och allt.

Dock verkar det vara en svår nöt och knäcka... *suck*

Jag började fundera lite i andra banor också.

Man kan kanske läsa upp 2 recordset en för de engelska artiklarna och en för de svenska.

Ta med sig dessa till webbsidan.

och däri använda något filter av någe slag.

Typ

SQL = "SELECT * FROM tblUpdate where fltKategori='Hardox' And fltCountryCode = 'uk'"
SQL2 = "SELECT * FROM tblUpdate where fltKategori='Hardox' And fltCountryCode ='" &U_CCode &"'

Set db_uk = Server.CreateObject("ADODB.Connection")
db_uk.Open "int_hardoxDSN"'
Set rseng = db.Execute (SQL)

Set db = Server.CreateObject("ADODB.Connection")
db.Open "int_hardoxDSN"'
Set rs = db.Execute (SQL)

Do until rseng.eof

yttre loop på engelsk rs
inre svensk rs
(Filter metod där Eng artikelnr = Sv artikelnr skriv Svenska artikeln else Engelsk.
move.next
rseng.movenext
loop

Eller fortsätta som tidigare med ungefär så här:

select artikel från artikel where land = uk and artikel nr not in(select artikel nr från artiklar where = cookie)

Vad tror ni?

------------------
There is no Tomorrow...

[Redigerat av T_Codez den 20 jul 2001]

T_CodezMedlem sedan juli 2001458 inlägg
#4

Kan man skriva något sånt här:

SQL = "SELECT * FROM tblUpdate where fltKategori='Hardox' And fltCountryCode = 'uk' Where Not In"("SELECT fltArtikelNr FROM tblUpdate where fltKategori='Hardox' And fltCountryCode ='" &U_CCode &"' )

I denna för jag ett "Unterminated string constant" felmeddelande.

vad innebär den?

Eehh?
Kan man skriva så här över huvud taget?
Eller är jag ute och cyklar totalt?

------------------
There is no Tomorrow...

@ndersMedlem sedan juni 200032 969 inlägg
#5

lite felaktiga fnuttar och sånt, men tanken är inte helt dum.

så här kanske den kan tänkas vilja se ut:

SQL = "SELECT * FROM tblUpdate where fltKategori='Hardox' And fltCountryCode = 'uk' Where [b]fltArtikelNr[/b] Not In (SELECT fltArtikelNr FROM tblUpdate where fltKategori='Hardox' And fltCountryCode ='" & U_CCode &"' )"

mvh,

------------------
<A HREF="http://cartman.nu" TARGET=_blank>
can i borrow your goat?
</A>

T_CodezMedlem sedan juli 2001458 inlägg
#6

YO @ANDERS

Nu händer det grejer:

Error Type:
Microsoft OLE DB Provider for ODBC Drivers (0x80040E14)
[Microsoft][ODBC Microsoft Access Driver] Syntax error (missing operator) in query expression 'fltKategori='Hardox' And fltCountryCode = 'uk' Where fltArtikelNr Not In (SELECT fltArtikelNr FROM tblUpdate where fltKategori='Hardox' And fltCountryCode ='se')'.
/kodsamlin/admin/update_list.asp, line 11

Och på line 11 är det:
RAD09:Set db = Server.CreateObject("ADODB.Connection")
RAD10:db.Open "int_hardoxDSN"'
RAD11:Set rs = db.Execute (SQL)

Nu är det inte långt kvar...

Lysande förslag anyway, Thankz!

------------------
There is no Tomorrow...

@ndersMedlem sedan juni 200032 969 inlägg
#7

du råkar ha med två where, det ska man givetvis inte ha.

byt bort det sista where (före det fetmarkerade fältnamnet i mitt tidigare inlägg) mot ett and.

------------------
<A HREF="http://cartman.nu" TARGET=_blank>
can i borrow your goat?
</A>

T_CodezMedlem sedan juli 2001458 inlägg
#8

Jag har just nu skrapsår i pannan efter
allt bugande och bockande...

THANKZ! :e

------------------
There is no Tomorrow...

@ndersMedlem sedan juni 200032 969 inlägg
#9

lol

vassego! :)

------------------
<A HREF="http://cartman.nu" TARGET=_blank>
can i borrow your goat?
</A>

131 ms totalt · 3 externa anrop · v20260731065814-full.fb544a5a
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
129 ms — hämta tråd, inlägg och bilagor (db)