webForumDet fria alternativet

Multipla frågor till MySQL

12 svar · 302 visningar · startad av UnConed

UnConedMedlem sedan jan. 2002307 inlägg
#1

Har försökt att få fram data från två tabeller i MySQL mha ASP.
Men jag kan inte lista ut hur man gör..

Tabellerna som jag ska få fram data ur heter rubrik och rubrikcafe.

Någon som kan hjälpa mig?

SebbeMedlem sedan jan. 20032 285 inlägg
#2
strSQL = "SELECT rubrik.kolumn1, " &_
"rubrik.kolumn2, " &_
"rubrikcafe.kol1, " &_
"rubrikcafe.kol2 FROM rubrik, rubrikcafe"

Eller

strSQL = "SELECT rubrik.kolumn1 AS rk1, " &_
"rubrik.kolumn2 AS rk2, " &_
"rubrikcafe.kolumn1 AS rkc1, " &_
"rubrikcafe.kolumn2 AS rkc2 FROM rubrik, rubrikcafe"

om du har kolumner i de olika tabellerna som heter samma sak. :)

/red Hoppas det är såhär man gör i MySQL också, har bara hållt på med Access innan. :r

LarsGMedlem sedan dec. 200012 464 inlägg
#3

Jo, det är samma. Men det behövs något villkor för att knyta samman tabellerna annars så får man alla möjliga kombinationer från de båda tabellerna

strSQL = "SELECT rubrik.kolumn1, " &_
"rubrik.kolumn2, " &_
"rubrikcafe.kol1, " &_
"rubrikcafe.kol2 FROM rubrik, rubrikcafe " & _
" where rubrik.pk = rubrikcafe.fk "

eller vad dina kolumner nu heter.

SebbeMedlem sedan jan. 20032 285 inlägg
#4

LarsG skrev:

Jo, det är samma. Men det behövs något villkor för att knyta samman tabellerna annars så får man alla möjliga kombinationer från de båda tabellerna

Jo, jag vet, men eftersom han inte sa något om det skrev jag inte i det. ;)

UnConedMedlem sedan jan. 2002307 inlägg
#5

hmm.. Det fungerade som bara till hälften..
Jag får bara fram samma post. Från en och samma datas..

SebbeMedlem sedan jan. 20032 285 inlägg
#6

Hur menar du? Och hur var det du ville ha det över huvud taget?

UnConedMedlem sedan jan. 2002307 inlägg
#7

Jag vill få fram 2 data från 2 olika tabeller och ordna dem efter ID.

Nu får jag bara fram data från EN tabell, den andra låter den helt bli att ens kolla på.. Och i den tabellen finns det bara en post.
Och den loopar fram den posten 3 gånger..

SebbeMedlem sedan jan. 20032 285 inlägg
#8
strSQL = "SELECT rubrik.kolumn1 AS rk1, " &_
"rubrik.kolumn2 AS rk2, " &_
"rubrikcafe.kol1 AS rck1, " &_
"rubrikcafe.kol2 AS rck2 FROM rubrik, rubrikcafe " &_
"WHERE rubrik.id = ribrikcafe.rid AND " &_
"rubrik.id = " & Request.QueryString("id") &_
" ORDER BY rubrik.id DESC"
Set objRS = objCon.Execute(strSQL)

Om du inte har flera kolumner som heter samma:

If NOT objRS.EOF Then
  Do Until objRS.EOF
    Response.Write(objRS("kolumn1") & objRS("kol2"))
    objRS.MoveNext
  Loop
End If

Om du har flera med samma namn:

If NOT objRS.EOF Then
  Do Until objRS.EOF
    Response.Write(objRS("rk1") & objRS("rck2"))
    objRS.MoveNext
  Loop
End If
ziggystardustMedlem sedan apr. 20031 inlägg
#9

Tror du menar något sånthärnt:

SQLFråga1
UNION
SQLFråga2

Då "sätter du ihop" de båda tabellerna i en och samma recordset. Observera att de dock måste vara unionskompatibla, dvs. i praktikten ha alla fält av samma typ.

UnConedMedlem sedan jan. 2002307 inlägg
#10

ziggystardust: Ja precis så.. Och de är union kompatibla.
Såhär är mitt försök till den koden, men den fungerar ej..

SQL = "SELECT ID, Forfattare FROM rubrik WHERE ID > '0' UNION SELECT ID, Forfattare FROM rubrikcafe WHERE ID > '0' ORDER BY ID DESC"
LarsGMedlem sedan dec. 200012 464 inlägg
#11

Vadå fungerar ej?

UnConedMedlem sedan jan. 2002307 inlägg
#12

LarsG: SQL koden fungerar inte.. jag får följande felmeddelande:
You have an error in your SQL syntax near 'UNION SELECT ID, Forfattare FROM rubrikcafe WHERE ID > '0' ORDER BY ID DESC' at line 1

LarsGMedlem sedan dec. 200012 464 inlägg
#13

Union fungerar inte i version 3.x.y av mysql. Det kom i version 4.0

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