webForumDet fria alternativet

Kolla värde i annan tabell i loop?

ASP

5 svar · 228 visningar · startad av bigsky

Medlem sedan maj 2002821 inlägg
Frågan#1

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?

Medlem sedan dec. 200012 464 inlägg
#2

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
Medlem sedan maj 2002821 inlägg
#3

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?

Medlem sedan dec. 200012 464 inlägg
#4

Jo, det kan gå med en join, beroende på DBMS. Borde inte tabellerna ligga i samma databas då de används inom samma applikation?

Medlem sedan maj 2002821 inlägg
#5

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å?

Medlem sedan dec. 1999707 inlägg
#6

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;
253 ms totalt · 4 externa anrop · v20260731065814-full.86ec41c2
121 ms — deklarationer (db)
0 ms — hämta statistik (cache)
127 ms — hämta tråd, inlägg och bilagor (db)
123 ms — ändringar (db)