webForumDet fria alternativet

Sätta samman SELECT resultat

4 svar · 163 visningar · startad av Dino

DinoMedlem sedan sep. 20011 914 inlägg
#1

Har en SELECT som kan retunera 0 till 2 rader som nedan:
tabell 1

m_id | m_aaa | m_bbb | m_ccc
------------------------------
  1  | data  |  data | data
  2  | data  |  data | data

Sen vill jag att en SELECT skall gå in och kolla i en annan tabell om id:t/id:na från tabell 1 finns där. Om något eller båda av id:na gör det då skall data från den raden (tre kolumner) läggas på efter datan i tabell 1 där id:t är lika i båda tabellerna. Går detta?
Ex resultat:

m_id | m_aaa  | m_bbb  | m_ccc  | u_aaa  | u_bbb  | u_ccc
-------------------------------------------------------------
  1  | m_data | m_data | m_data | u_data | u_data | u_data
LarsGMedlem sedan dec. 200012 464 inlägg
#2

Ja, det låter som en vanlig join. Vad skall hända om din andra select inte innehåller något?

DinoMedlem sedan sep. 20011 914 inlägg
#3

Då skall endast resultatet från tabell 1 köras ut till sidan.

LarsGMedlem sedan dec. 200012 464 inlägg
#4

Du kan aldrig få så att det blir olika många kolumner i resultatet utan det kommer null i dessa kolumner i det fall det inte finns matchande poster i tabell 2.

select t1.m_id,m_aaa , m_bbb , m_ccc,
                      u_aaa , u_bbb , u_ccc
 from t1 left outer join t2 on t1.m_id = t2.m_id
where  <villkor>
DinoMedlem sedan sep. 20011 914 inlägg
#5

//red tackar så länge. :)
//red igen, hade visst gjort som du skrev ovan, men hade kört med inner join och det var då allt sket sig.

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