vad är problemet? Varifrån kommer dessa fyra värden? En annan tabell? Joinläge?
q = "select * from t where c in ('value1','value2','value3','value4')"
set rs = connect.execute(q)
if rs.eof then
'fanns inte
else
'fanns
end if
5 svar · 228 visningar · startad av bigsky
I en loop skriver jag ut fyra olika värden. I loopen vill jag nu kolla om något av värdena redan finns i en annan tabell. Om så är fallet ska istället för värdet en text skrivas ut. Hur gör jag detta?
vad är problemet? Varifrån kommer dessa fyra värden? En annan tabell? Joinläge?
q = "select * from t where c in ('value1','value2','value3','value4')"
set rs = connect.execute(q)
if rs.eof then
'fanns inte
else
'fanns
end if
Tabellen som värderna skrivs ut från och den tabell de ska kollas mot ligger i två olika databaser. Då går det väl inte med INNER JOIN?
Jo, det kan gå med en join, beroende på DBMS. Borde inte tabellerna ligga i samma databas då de används inom samma applikation?
Egentligen är det två olika applikationer, men på en sida är de beroende av varandras uppgifter och måste därför kunna kopplas ihop. Hur skulle en sån JOIN se ut då?
Kanske ska flyttas till SQL-forumet nu.
Här är ett exempel på hur det skulle kunna se ut. Order är din huvudtabell och Rows är tabellen du vill kontrollera om värdet finns i (order.id). Fältet CountOfId säger väl sig själv (antal ggr det förekommer).
SELECT
Order.id,
Count(Rows.id) AS CountOfid
FROM
Order
LEFT JOIN
Rows
ON
Order.id = Rows.orderId
GROUP BY
Order.id;