DavidaMedlem sedan okt. 2000219 inlägg Jag använder en selectsats:
SELECT * FROM Tabell1, Tabell2 WHERE Tabell1.tabell2id=tabell2.id
Sedan skriver jag ut infon från mitt rs (fältet kommer från tabell2):
<%=rs("tbl2_namn")%>
Hur gör jag så att man visar blankt istället för att inte visa posterna där tabell1.tabell2id är tomt?
------------------
if user="David Altefur" then
Response.write "Tack på förhand"
End if
VideMedlem sedan dec. 19998 577 inlägg SELECT * FROM Tabell1, Tabell2 WHERE Tabell1.tabell2id=tabell2.id OR Tabell1.tabell2id = ''
------------------
Vide rox = new Vide();
rox.learn("C#");
webeye.nu
LarsGMedlem sedan dec. 200012 464 inlägg Jag förstår inte vad du menar. Vad är tomt i detta sammanhang? Är det en outer join du vill ha, dvs att du får ut alla poster från tabell1 även om det inte finns någon matchande post i tabell2?
Vide
Jag förstår inte din fråga heller.
För varje rad i tabell1 där id = '' så kommer du att få alla rader i tabell2
------------------
essentitia preter non sans multiplicandum
DavidaMedlem sedan okt. 2000219 inlägg Ja, du har fattat precis det jag vill
------------------
if user="David Altefur" then
Response.write "Tack på förhand"
End if
LarsGMedlem sedan dec. 200012 464 inlägg SELECT * FROM Tabell1 left outer join
Tabell2 on Tabell1.tabell2id=tabell2.id
För de rader där de inte finns några matchande poster i tabell2 så blir det null i de kolumner som kommer från tabell2.
I VB-script kan man testa om ett värde i ett recordset är null med
if isnull(rs("kolumn")) then
------------------
essentitia preter non sans multiplicandum
DavidaMedlem sedan okt. 2000219 inlägg I min SQL-sats har jag ett gäng övriga Where-joinar, kan man bara lägga till det du skrev på slutet av SQL-satsen före ORDER BY?
------------------
if user="David Altefur" then
Response.write "Tack på förhand"
End if
LarsGMedlem sedan dec. 200012 464 inlägg Ja visst.
SELECT * FROM Tabell1 left outer join
Tabell2 on Tabell1.tabell2id=tabell2.id
where dcb in (4711,4712)
and qcb <> 'Quasi'
order by tcb desc
Red: såg inte att du skrev join
Olika dbms tillåter olika konstruktioner
select * from t1,t2 left outer join t3
on t2.id = t3.id
where t1.id = t2.id
är korrekt enligt SQL-standard men godkänns inte av alla, i så fall får man skriva
select * from t1 inner join t2
on t1.id = t2.id left outer join t3
on t2.id = t3.id
vilket är funktionellt samma sak som ovan.
Har för mig att Access är värst i detta avseende och att den kräver att man har parenteser om ena join-delen
------------------
essentitia preter non sans multiplicandum
[Redigerat av LarsG den 02 sep 2001]