webForumDet fria alternativet

Fel på sql fråga?

12 svar · 276 visningar · startad av Rinaldo

RinaldoMedlem sedan mars 20014 214 inlägg
#1

Är det någoting fel på denna fråga?

SELECT Top 1 * FROM tblTopics INNER JOIN tblReplies Order by message_date

Ska alltså hämta från två tabeller...

@ndersMedlem sedan juni 200032 969 inlägg
#2

Ja, du har inte specificerat vilket fält i respektive tabell som skall användas i joinen.

Mvh,

RinaldoMedlem sedan mars 20014 214 inlägg
#3

hmm... Hur gör jag det?

Jag vill hämta message_date från båda tabellerna och och samtidigt ha en order by message date så jag bara väljer en post från de båda tabellerna... Den som är nyast...

@ndersMedlem sedan juni 200032 969 inlägg
#4

Vilket fält i den ena tabellen ska kopplas mot vilket fält i den andra? Om du ska joina tabellerna, så måste du ha något att joina på.

Mvh,

@ndersMedlem sedan juni 200032 969 inlägg
#5

Jag flyttar över denna tråd till rätt forum, dvs SQL-forumet.

Mvh,

LarsGMedlem sedan dec. 200012 464 inlägg
#6

Din tabelldesign ser konstig ut. Varför behöver du blanda in topic i sammanhanget?

Jag skulle lägga alla inlägg i en tabell, även det första i varje topic.

RinaldoMedlem sedan mars 20014 214 inlägg
#7

Alltså.... Detta är ett forum. Jag vill hämta den senaste posten gjord i forumet oavsett om det är en tråd(i tblTopics) eller ett svar(i tblReplies).

Jag ska ju bara hämta en av dessa poster alltså måste jag jämföra i vilken av det nya tabellerna, den nyaste posten finns, och hämta den.

Hur gör jag då?

LarsGMedlem sedan dec. 200012 464 inlägg
#8

Du får göra en union.

select top 1 * from (
select userid,mesageDate from tbl_replies
union
select userid,mesageDate from tbl_topic)
order by messageDate desc

Det viktiga är att du har samma antal kolumner och samma typer i de båda select-frågorna som du gör union på.

RinaldoMedlem sedan mars 20014 214 inlägg
#9

sqlLastPost="select top 1 * from (
select author_ID,message_date from tblReplies
union
select author_ID,message_date from tblTopics)
order by message_datee desc"
rsLastPost.Open sqlLastPost, Conn
Set rsLastPost = Server.CreateObject("adodb.recordset")

"&rsLastPost("message_date")&"

Oavslutad strängkonsonant blir det nu... :q

RinaldoMedlem sedan mars 20014 214 inlägg
#10

Löste med larsGs fråga... hade råkat ta bort ett " i slutet, tack

RinaldoMedlem sedan mars 20014 214 inlägg
#11

En sak till... var ska jag sätta where om jag vill bestämma vilka poster jag vill hämta?

		sqlLastPost="select top 1 \* from(select message_date, author_ID from tblReplies union select message_date, author_ID from tblTopics) where forum_ID = '"&strForumID&"' order by message_date desc"?
LarsGMedlem sedan dec. 200012 464 inlägg
#12

Du kan lägga den där, men då måste du ta med forum_id i de båda select-satserna i unionen annars så får du lägga ditt where-villkoren i varje gren av unionen.

RinaldoMedlem sedan mars 20014 214 inlägg
#13

tackar :)

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