LarsGMedlem sedan dec. 200012 464 inlägg Jag är intresserad av vilket resultat olika DBMS ger på denna fråga
create table onerow(m char(1))
insert into onerow values('M')
select * from onerow a left outer join onerow b
on a.m = 'X'
Så om du har tillgång till någon DBMS, kan du testa frågan och posta resultatet. (Är det någon som blir förvånad över resultatet?)
VideMedlem sedan dec. 19998 577 inlägg SQL-server plockade ut en post med M i kolumnen m och null i kolumnen m, varför då?
[R] SQL 2000
[R] För att det är en Left outer join såklart... ;)
Engine^Medlem sedan dec. 20003 887 inlägg Access 2002 tyckte att Join.uttrycket inte stöddes ;) A2k2 gillar väl inte ON a.m = 'X' förmodar jag.
LarsGMedlem sedan dec. 200012 464 inlägg Du får göra det som två satser, en insert och en select.
Hej LarsG. Efter all hjälp jag fått av dig tidigare :f så kan jag väl unna mig några minuter åt dig.
mySQL:
Skapade en tabell med namnet onerow. Den innehöll en kolumn vid namnet m som var en char(1) och Null var Yes.
Tabellen hade en post och den innehöll M
Skulle det bli något annat resultat? :q
LarsGMedlem sedan dec. 200012 464 inlägg Vad blir resultatet av select-frågan med en left outer join?
@ndersMedlem sedan juni 200032 969 inlägg (SQL Server 7 ger samma resultat som Vide skriver om för SQL Server 2000)
mvh
MatteMedlem sedan aug. 20002 975 inlägg mysql 3.23.51 på Windows gav samma resultat som Vide och @nders.
LarsGMedlem sedan dec. 200012 464 inlägg Alla utom Access får godkänt. Vi kan nog avsluta övningen nu.
PANMedlem sedan feb. 2002130 inlägg Jag har sett att övningen är oficielt avslutad men kunde inte motstå frestelsen att prova,
när jag nu fick ett felmedelande så kanske jag kan få hjälp att reda ut vad det innebär ?
Inga problem med skapandet av tabellen men när jag kör frågan får jag följande felmedelande
select * from onerow a left outer join onerow b on a.m = 'X';
*
Fel på rad 1:
ORA-00933: SQL-kommando felaktigt avslutat
Jag använder Oracle 8i.
Asterixen som pekar på felet finns under left inte under select i original svaret.
PAN
LarsGMedlem sedan dec. 200012 464 inlägg Oracle 8i stöder inte join. Det kom i version 9.
I Oracle så skriver man outer join med
select * from onerow a , onerow b
where a.m = b.m (+)
Så vitt jag förstår så går det inte att få till en sådan join som jag skrev med hjälp av det outer-join stöd som finns i Oracle 8. Det går att skriva frågan med hjälp av union men det är inte så intressant då avsikten var att testa just outer join.