webForumDet fria alternativet

Flera relationer i SQL-sats!

10 svar · 408 visningar · startad av roady

roadyMedlem sedan jan. 2002473 inlägg
#1

Jag har lite problem med en SQL-sats, man kan som vanligt göra den med 2st men ifall man klara det i en så slipper man anropa 2ggr och slöa ner sidan!!!

user
userID
userFnamn
userEnamn

news
newsID
..........
..........
.........
userID
newsBekraftaID

När jag listar allt i tabellen news så vill jag ta ut userID i tabellen user och samma sak med newsBekraftaID!!!!
Dessa två relaterar till olika userID:s

Är jag luddig i formuleringen? :l

SPiNMedlem sedan mars 20007 896 inlägg
#2

Har tabellerna något gemensamt? Är det userID som är sekundärnycklar?

SELECT user.userID, news.* FROM user, news WHERE user.userID = news.userID

:q

roadyMedlem sedan jan. 2002473 inlägg
#3

nja...
UserID och newsBekraftaID skall leta upp personen i tabellen user (id-numret),,,

Så typ,
Den här Artiklen är skriven av: Pelle Knutsson
Blev bekräftad av: Lars Gunnarsson

Gör jag såhär så får jag ut vem som skrivit nyheten:

SQL = "SELECT news.*, user.userFnamn, user.userEnamn " & _
"FROM news INNER JOIN [user] ON (news.userID = user.userID) " & _
"WHERE newsID = "& ID &";"

Men sedan måste jag få ut vem som har bekräftat att nyheten skall visas genom news.newsBekraftaID

LarsGMedlem sedan dec. 200012 464 inlägg
#4
SQL = "SELECT news.*, u1.userFnamn as Fskriven, u1userEnamn as Eskriven," & _
" u2.userFnamn as Fbek, u2.userEnamn as Ebek " & _
"FROM ([user] u1 inner join ON (u1.userID = news.userID) )" & _
" inner join user u2 on news.newsBekraftaID = u2.userID " & _
"WHERE newsID = "& ID &";"
tohaMedlem sedan dec. 1999707 inlägg
#5

Tänk bara på att om du vill visa nyheter som inte har blivit bekräftade så får du göra en LEFT OUTER JOIN för newsBekraftaID = userID.

roadyMedlem sedan jan. 2002473 inlägg
#6

Jag får felmeddelande från SQL-satsen :(

Syntaxfel i FROM-instruktion.

@ndersMedlem sedan juni 200032 969 inlägg
#7
...u1 inner join [b]news[/b] ON (...

Kanske?

roadyMedlem sedan jan. 2002473 inlägg
#8

Nope, samma fel

SQL = "SELECT news.*, u1.userFnamn as Fskriven, u1.userEnamn as Eskriven, " & _
"u2.userFnamn as Fbek, u2.userEnamn as Ebek " & _
"FROM (u1 inner join ON (u1.userID = news.userID) ) " & _
"inner join user u2 ON news.newsBekraftaID = u2.userID " & _
"WHERE newsID = "& ID &";"

Tänkte på va får den värdena u1 ifrån??? den vet ju inte vilken tabell?

doggelitoMedlem sedan juni 20003 076 inlägg
#9

du har fel i din from-tagg, se @nders inlägg ovan

@ndersMedlem sedan juni 200032 969 inlägg
#10

Nu har du ju inte med news som jag skrev?

Prova detta:

SQL = "SELECT news.*, u1.userFnamn as Fskriven, u1.userEnamn as Eskriven, " & _
"u2.userFnamn as Fbek, u2.userEnamn as Ebek " & _
"FROM ([b]user[/b] u1 inner join [b]news[/b] ON (u1.userID = news.userID) ) " & _
"inner join user u2 ON news.newsBekraftaID = u2.userID " & _
"WHERE newsID = "& ID

Mvh,

roadyMedlem sedan jan. 2002473 inlägg
#11

ojsan... haha...
fattade inte riktigt :r

Men nu funkar det gallant ... :bire

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