Toon posts:

[SQL] Velden uit verschillende tabellen bij elkaar

Pagina: 1
Acties:

Verwijderd

Topicstarter
Ik wil graag drie velden uit de tabel Articles en 1 veld uit de tabel Replies halen. Deze wil ik dan vervolgens in een veld in een query tabel terug krijgen. Het liefst nog met een linebreak er tussen. Ik heb daarvoor de volgende code geschreven:

SELECT C.Name + C.MiddleName + C.LastName + Char(13) + Char(10) + R.Date As Name, ...

Maar als ik dit uitvoer krijg ik helemaal niets terug, en dat is natuurlijk niet de bedoeling. Iemand een idee hoe ik dit voor elkaar krijg?

  • justmental
  • Registratie: April 2000
  • Niet online

justmental

my heart, the beat

Wat voor een database gebruik je?

Who is John Galt?


Verwijderd

Topicstarter
Ehmz, een database op een MS SQL Server 2000.

  • Crazy D
  • Registratie: Augustus 2000
  • Laatst online: 08:14

Crazy D

I think we should take a look.

Post de rest van je query ook eens? Enkel het select stukje is op zich niks mis mee, tis meer afhankelijk van hoe je de tabellen samenvoegt...

Exact expert nodig?


Verwijderd

Topicstarter
SELECT C.Name + C.MiddleName + C.LastName As Name, R.Date, REPLACE(R.Reply, '[CRLF]', '<br>') As Reply FROM Replies R, ClientInformation C WHERE R.Author = C.ClientID AND R.ArticleID = '" & tempGuid.ToString & "' ORDER BY R.Date

tempGuid.ToString is een Guid object wat een unique ID bevat voor 't Artikel waar het om gaat.

Verwijderd

Topicstarter
Iemand????

  • Crazy D
  • Registratie: Augustus 2000
  • Laatst online: 08:14

Crazy D

I think we should take a look.

Als je de sql string print, en die copy-paste naar Access, werkt het dan wel? (en dan bedoel ik dus niet de query zoals je 'm opbouwt, maar de query nadat ie opgebouwt is, en voordat je deze in je recordset stopt).

Exact expert nodig?


Verwijderd

Op vrijdag 22 maart 2002 15:14 schreef jmezach het volgende:
SELECT C.Name + C.MiddleName + C.LastName As Name, R.Date, REPLACE(R.Reply, '[CRLF]', '<br>') As Reply FROM Replies R, ClientInformation C WHERE R.Author = C.ClientID AND R.ArticleID = '" & tempGuid.ToString & "' ORDER BY R.Date

tempGuid.ToString is een Guid object wat een unique ID bevat voor 't Artikel waar het om gaat.
Bij het Criteria zet je '.......' om de waarde? Het lijkt mij dat R.ArticleID geen string is dus die mogen iig weg!

Verwijderd

Topicstarter
Hmmz, 'k kan niet zomaar die database openen in Access.
Moe'k zeker eerst die hele database gaan namaken.

Verwijderd

Op vrijdag 22 maart 2002 16:39 schreef Crazy_D het volgende:
Als je de sql string print, en die copy-paste (en dan bedoel ik dus niet de query zoals je 'm opbouwt, maar de query nadat ie opgebouwt is, en voordat je deze in je recordset stopt)....
Of post em es hier..

Verwijderd

Topicstarter
'k zet geen " om de waarde, alleen een ', die " staat omdat ik een variable er tussen wil zetten, en die moet dus niet als letterlijke waarde er in komen.

Overigens werkt het wel als ik SELECT C.Name + C.MiddleName + C.LastName As Name, R.Date, R.Reply FROM <en dan hetzelfde>

Verwijderd

Topicstarter
Ehmz, een volledige query zou dan worden (als voorbeeld):

SELECT C.Name + C.MiddleName + C.LastName As Name, R.Date, REPLACE(R.Reply, 'CRLF', '<br>') As Reply FROM Replies R, ClientInformation C WHERE R.Author = C.ClientID AND R.ArticleID = '80bf1ae7-f635-4d40-b481-524495c12956' ORDER BY R.Date

Verwijderd

'k zet geen " om de waarde, alleen een ',
R.ArticleID = '" & tempGuid.ToString & "'

Volgens mij zijn die 2 vette toch echt quotes! En die ' gebruik je bij een string maar niet bij een ID veld wat normaal autonummering is..dus een getal.

Verwijderd

Op vrijdag 22 maart 2002 16:51 schreef jmezach het volgende:
Ehmz, een volledige query zou dan worden (als voorbeeld):

SELECT C.Name + C.MiddleName + C.LastName As Name, R.Date, REPLACE(R.Reply, 'CRLF', '<br>') As Reply FROM Replies R, ClientInformation C WHERE R.Author = C.ClientID AND R.ArticleID = '80bf1ae7-f635-4d40-b481-524495c12956' ORDER BY R.Date
Dus het veld R.AricleID is een stringveld?

Verwijderd

Topicstarter
't is een Guid.

  • D2k
  • Registratie: Januari 2001
  • Laatst online: 31-08 10:19

D2k

Op vrijdag 22 maart 2002 16:17 schreef jmezach het volgende:
Iemand????
<ultralaat>
Hoi,
[topic=327241/1/25]
Policy mbt het omhoogschoppen van threads. Wacht minstens 24 uur voor je je topic omhoog schopt. Doe dit dan ook alleen met een zinnige opmerking en dus niet met "Waarom antwoord er nou niemand" nadat je 5 minuten geen antwoord hebt gehad. Sommigen van ons hebben een leven :+
</ultralaat>

Doet iets met Cloud (MS/IBM)


Verwijderd

Ook geprobeerd zonder de enkele quotes? Deze ' dus?

Verwijderd

Topicstarter
SELECT C.Name + C.MiddleName + C.LastName As Name, R.Date, REPLACE(R.Reply, 'CRLF', '<br>') As Reply FROM Replies R, ClientInformation C WHERE R.Author = C.ClientID AND R.ArticleID = '80bf1ae7-f635-4d40-b481-524495c12956' ORDER BY R.Date
Zoals je ziet is dat er 1'tje, en niet twee. Maar 'k denk niet dat 't 'm in die tekens zit. Want als ik dus alleen C.Name + C.MiddleName + C.LastName As Name doe werkt het wel.

Verwijderd

Op vrijdag 22 maart 2002 17:00 schreef jmezach het volgende:

[..]

Zoals je ziet is dat er 1'tje, en niet twee.
Ja ok..maar ik bedoel dus R.ArticleID = 80bf1ae7-f635-4d40-b481-524495c12956 dus dan haal je in je query ff die ' eromheen weg..

Verwijderd

Topicstarter
Lol, dan krijg 'k de volgende error:

Incorrect syntax near 'bf1ae7'.

Verwijderd

ok is ook maar een id'tje... :P

Verwijderd

Topicstarter
Mjah, nog meer ideeën???
'k begrijp namelijk niet zo goed w'rom 't niet wil lukken.

Verwijderd

Ik zou die Replace er ff uitslopen. MIsschien dat ie daarop fout gaat..

Verwijderd

Topicstarter
Ehmz, heb ik ook al eens geprobeerd (voordat ik wist dat de Replace functie bestond ;)). Wou ook niet echt werken.

  • Crazy D
  • Registratie: Augustus 2000
  • Laatst online: 08:14

Crazy D

I think we should take a look.

Ff terug naar af... dus als je de reply-date niet aan de naam plakt werkt het wel?
Of heb ik weer een reply gemist? :z

Exact expert nodig?


Verwijderd

Topicstarter
Ehmz, jah, als ik dus SELECT C.Name + C.MiddleName + C.LastName As Name, R.Date, R.Reply FROM ... doe werkt het wel. Dus het lijkt me dat 't aan die R.Date moet liggen, maar waarom kan'k niet velden uit twee verschillende tabellen bij elkaar gooien???

  • Crazy D
  • Registratie: Augustus 2000
  • Laatst online: 08:14

Crazy D

I think we should take a look.

Hmm kwee nie, bij mij werkte het gewoon. Njah ik gebruik & i.p.v. + om strings aan elkaar te plakken, misschien dat dat nog wat scheelt (heb wel vaker gekke dingen gezien met + om string te plakken). Kan zo gauw ff niks anders verzinnen. (mjah misschien is 3.20 daar ook geen goeie tijd voor :))

Exact expert nodig?


Verwijderd

Topicstarter
Hmmz, volgens mij krijg ik met & een Invalid syntax error, maar 'k zal het zo ffies proberen.

Verwijderd

Topicstarter
Als ik & tekens gebruik krijg ik de volgende foutmelding:

Invalid operator for data type. Operator equals boolean AND, type equals char.

Dat werkt dus ook niet helemaal zoals 't hoort |:(.

  • Sir Abarth
  • Registratie: Juni 2000
  • Laatst online: 18-01-2024

Sir Abarth

The secret word is: ToeT!

als je MS SQL Server 2000 gebruikt maak dan eerst query goed enterprise manager (misschien ff installeren). Dan kan je de syntax controleren. Als je het gewenste resultaat hebt bouw je sql om naar je programma code.

ToeTerdeToeTToeT! | May the ToeT be with you | There is no ToeT | specs
Still the gentleman ;)
[Clan of ToeT]


Verwijderd

Topicstarter
Mjah, ik heb de Desktop Engine versie, die heeft niet al die tools. Maar ehm, 'k heb hier wel de volledige versie liggen, maar dan moet ik wel die database van de huidige versie kunnen importeren, 'k weet niet zeker of dat kan. Iemand een idee daarover???

Verwijderd

Topicstarter
Hmmz, okeej, die weigert dus te installeren.

Fout bij bewerking in pagina.

Juist jah.

Verwijderd

Topicstarter
Lol, okeej, 'k weet nu wat het probleem is. Nu nog een oplossing:

Syntax error converting datetime from character string.

Dat komt natuurlijk omdat R.Date een datetime veld is, en geen string. Is er een functie om die te converten naar een string.

Verwijderd

Topicstarter
Okeej, de volgende query doet wat ik wil:

SELECT Replace(C.Name + C.MiddleName + C.LastName + Char(13) + Char(10) + Cast(R.Date As Char), Char(13) + Char(10), '<br>') FROM Replies R, ClientInformation C WHERE R.Author = C.ClientID AND R.ArticleID = '<guid>'

Bedankt voor diegene die me geholpen hebben.
Wel maf trouwens dat ik die foutmelding niet kreeg.
Pagina: 1