webForumDet fria alternativet

Multipla frågor till MySQL

Databaser & SQLur Databashanterare & SQL

12 svar · 302 visningar · startad av UnConed

Medlem sedan jan. 2002307 inlägg
Frågan#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?

Medlem 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

Medlem 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.

Medlem 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. ;)

Medlem 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..

Medlem sedan jan. 20032 285 inlägg
#6

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

Medlem 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..

Medlem 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
Medlem 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.

Medlem 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"
Medlem sedan dec. 200012 464 inlägg
#11

Vadå fungerar ej?

Medlem 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

Medlem sedan dec. 200012 464 inlägg
#13

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

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