webForumDet fria alternativet

UNION

1 svar · 137 visningar · startad av Eclipse

EclipseMedlem sedan juli 20003 741 inlägg
#1

Detta är en follow-up från denna tråden.

Jag har modifierat koden till:

' ## SELECT MAILINGLISTS
SQL = " SELECT m.intID, m.strName, 'TRUE' as Subscriber" _
& " FROM mailinglist m, users u " _
& " WHERE EXISTS " _ 
& " (SELECT intID FROM subscribers s WHERE s.intUserID = u.intID AND s.intMailinglistID = m.intID AND s.intUserID = " & request("ID") & ") " _
& " UNION " _
& " SELECT m.intID, m.strName, 'FALSE' " _
& " FROM mailinglist m, users u " _
& " WHERE NOT EXISTS " _
& " (SELECT intID FROM subscribers s WHERE s.intUserID = u.intID AND s.intMailinglistID = m.intID AND s.intUserID = " & request("ID") &");"
set mySQL = Conn.Execute(SQL)
listMailinglist = mySQL.GetRows()

Här ser ni resultatet.
Det är följdaktligen inte superläckert. jag vill ju inte att samma post ska finnas med två gånger! Vad göra??

EclipseMedlem sedan juli 20003 741 inlägg
#2

This is the way

' ## SELECT MAILINGLISTS
SQL = " SELECT m.intID, m.strName, 'TRUE' as Subscriber" _
& " FROM mailinglist m, [b]users u[/b] " _
& " WHERE EXISTS " _ 
& " (SELECT intID FROM subscribers s WHERE s.intUserID = u.intID AND s.intMailinglistID = m.intID AND s.intUserID = " & request("ID") & ") " _
& " UNION " _
& " SELECT m.intID, m.strName, 'FALSE' " _
& " FROM mailinglist m, [b]users u[/b] " _
& " WHERE NOT EXISTS " _
& " (SELECT intID FROM subscribers s WHERE s.intUserID = u.intID AND s.intMailinglistID = m.intID AND s.intUserID = " & request("ID") &");"
set mySQL = Conn.Execute(SQL)
listMailinglist = mySQL.GetRows()
' ## SELECT MAILINGLISTS
SQL = " SELECT m.intID, m.strName, 'TRUE' as Subscriber" _
& " FROM mailinglist m " _
& " WHERE EXISTS " _ 
& " (SELECT intID FROM subscribers s WHERE s.intUserID = u.intID AND s.intMailinglistID = m.intID AND s.intUserID = " & request("ID") & ") " _
& " UNION " _
& " SELECT m.intID, m.strName, 'FALSE' " _
& " FROM mailinglist m " _
& " WHERE NOT EXISTS " _
& " (SELECT intID FROM subscribers s WHERE s.intUserID = u.intID AND s.intMailinglistID = m.intID AND s.intUserID = " & request("ID") &");"
set mySQL = Conn.Execute(SQL)
listMailinglist = mySQL.GetRows()

Nu svarar jag mig själv. Ta bort users u så fungerar det!

Genererad på 362 ms · cache AV · v20260730165559-full.f96bc7eb