två värden i en tabel mot en annan tabell

Databaser & SQL

1 svar · 256 visningar · startad av daniel_ra

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

Har tre tabeller.
order, user

tabellen order ser ut såhär:
orderID,userID,userID2
userID och userID2 är alltså två användare från tabellen user.

Tabellen user ser ut såhär:
userID,username

om jag skulle vilja plocka ut orderID samt namn på user1 och namn på user2 från ordertabellen så kan jag ju naturligtvis inte göra såhär:

select orderID,username from order,user where order.userID=user.userID and order.userID2 = user.userID. jag kommer ju då inte att få några träffar alls. men hur skulle jag kunna göra för att få fram detta resultat?

Medlem sedan juni 200032 967 inlägg
#2
  1. Du ska inte ha en tabell som heter order.
  2. alltid ange vilken dbms du använder.
select o.orderid, u1.username, u2.username
from tabellen_som_inte_får_heta_order o
left outer join user u1 on o.user1 = u1.userid
left outer join user u2 on o.user2 = u2.userid
260 ms totalt · 4 externa anrop · v20260731065814-full.d34c6d5a
123 ms — deklarationer (db)
0 ms — hämta statistik (cache)
132 ms — hämta tråd, inlägg och bilagor (db)
121 ms — ändringar (db)