Why oh why ??

ASP

9 svar · 257 visningar · startad av jonne

Medlem sedan jan. 20011 154 inlägg
Trådstart#1

Har ett litet problem som någon föhoppningsvis kan hjälpa mig med.

Det jag försöker göra är att hämta info från två tabeller. Den ena visar aktuella nyheter och den andra visar (eller ska så småningom visa) de senaste nyheterna i kategoridelen.

Den selectsatsen som jag testar med är denna :

"SELECT DISTINCT s.ID,s.Actiontime,s.Heading,s.Shortreview,s.Fullreview,s.Author,d.depID,d.depHeading FROM tblSpotlight s, tblDepNews d ORDER BY s.ActionTime DESC"

Resultatet av denna är ju inte precis det som jag vill ha ;)
Den listar en massa dubletter. Dessa dubletter finns inte i databasen innan utan de kommer fram när man har med d.depID,d.depHeading i ovanstående kod.

Skulle någon vilja vära så vänlig och kicka in mig på vägen igen för det känns lite som om man är ute och cyklar i diket.

Medlem sedan juni 200032 967 inlägg
#2

tja, du har ju inte joinat tabellerna på något sätt.

ex:

SELECT DISTINCT s.ID,s.Actiontime,s.Heading,s.Shortreview,s.Fullreview,s.Author,d.depID,d.depHeading FROM tblSpotlight s, tblDepNews d WHERE s.ID = d.depID ORDER BY s.ActionTime DESC

nu vet jag inte vad du har för fält att joina på, men förstår du?`

mvh,

Medlem sedan jan. 20011 154 inlägg
#3

Hmm.. Trodde att man bra behövde använda join om man hade någon relation mellan tabellerna. Det har jag ju inte nu eftersom det inte finns något i de båda tabellerna som har någon nytta av att vara länkat (tror jag iaf).

Så om jag ska skriva så som du visade måste jag ha en relation mellan ID i båda tabellerna eller ?

Medlem sedan juni 200032 967 inlägg
#4

japp, annars blir det ett jäkla härke av datat eftersom varje rad i den ena tabellen slängs ihop med varje rad i den andra.

vad är syftet med det hela? ett fall för union kanske?

Medlem sedan jan. 20011 154 inlägg
#5

Syftet är att som det ser ut idag så har jag en nyhets sida som listar de 4 senaste "spotlight" nyheterna (globala nyheter). Sen har jag olika sektioner med avdelnings nyheter.

Tänkte att jag skulle visa de senast inlaggda avdelnings nyheterna på samma sida som de globala nyheterna.

Medlem sedan dec. 200012 464 inlägg
#6

Det är nog en union du beöver. Den tar resulatet av 2 selectsatser och rensar bort alla duplikat.

SELECT ID, Actiontime as Atime,  Heading, Shortreview, Fullreview, Author 
FROM tblSpotlight 
union 
select id,timeColumn as Atime, Heading, ' ', ' ',' ' from tblDepNews ORDER BY Atime DESC

Det viktiga är att det är lika många kolumner i de båda selectsatserna och att de är av samma typ. Jag lade till konstanter för shorereview, fullreview och author för att det skulle matcha. Om du inte har någon tid-kolumn i tblDepNews får du göra på samma sätt där.

Medlem sedan jan. 20011 154 inlägg
#7

Aha. Nu börjar det klarna lite. Ska ta och testa union så får vi se vad som händer.

Får passa på att tacka för extremt snabba svar.
Det är av denna enkla orsak man väljer wF när man har ett problem som kräver snabb lösning ;)

Medlem sedan jan. 20011 154 inlägg
#8

Ok nu har det börjat hända lite saker :)

Dags att komma med en följdfråga:
Hur ska jag kunna hänvisa till de respektive fälten ? Alltså:
Jag vill skriva ut heading, actiontime, shortreview från tabellen tblSpotlight. Sen vill jag kunna skriva ut Actiontime och heading från tabellen tblDepNews.
Kolumnerna heter ju inte samma från början men när man använder union så tar tblSpotlight "över" kolumn namnen från tblDepNews.

Frågan är alltså hur jag ska kunna välja ut data från tblDepNews.

Medlem sedan dec. 200012 464 inlägg
#9

Det man kan göra är att man lägger till ett typfält i frågan.

SELECT ID, Actiontime as Atime, Heading, Shortreview, Fullreview, Author, 1 as newsType 
FROM tblSpotlight 
union 
select id,Actiontime as Atime, Heading, ' ', ' ',' ',2 as newsType from tblDepNews ORDER BY Atime DESC

Sen i din ASP-kod kan du göra följande:

if RS("newsType") = 1 then
'skriv de kolumner som gäller tblSpotlight
else
'skriv de kolumner som gäller tblDepNews
end if

Medlem sedan jan. 20011 154 inlägg
#10

Tackar så hemskt mycket. Fungerar som det ska nu..äntligen :)

392 ms totalt · 4 externa anrop · v20260731065814-full.d34c6d5a
127 ms — deklarationer (db)
127 ms — hämta statistik (db)
134 ms — hämta tråd, inlägg och bilagor (db)
121 ms — ändringar (db)