Op deze website gebruiken we cookies om content en advertenties te personaliseren, om functies voor social media te bieden en om ons websiteverkeer te analyseren. Ook delen we informatie over uw gebruik van onze site met onze partners voor social media, adverteren en analyse. Deze partners kunnen deze gegevens combineren met andere informatie die u aan ze heeft verstrekt of die ze hebben verzameld op basis van uw gebruik van hun services. Meer informatie.

Akkoord

Vraag & Antwoord

Webprogrammeren & scripting

2 recordsets vergelijking [ASP]!

Anoniem
HarrySnotter
6 antwoorden
  • Ik wil 2 recordset met elkaar vergelijken die verschillende waarden hebben. Dus als ik een tabel hebt met 17 namen en nummers wil ik deze samenvoegen met 17 dezelfde namen met bijv diploma's. Deze gegevens moeten naast elkaar komen te staan. Het komt ook voor dat sommige namen geen diploma's hebben. Ik ben bekent met sql en dus met het joinen van tabellen, maar binnen asp lukt me het niet.

    Groet
  • Je moet een lus maken van de recordset uit de eerste tabel, en daarbinnen 1 van de 2e. Dan ga je Set1.waarde vergelijken met Set2.waarde (in lus 2) en if true zet je wat je eigenlijk wilt doen.

    Duidelijk? :razz:
  • Delete werkt niet :sad:

    [ Dit bericht is bewerkt door: SabineBos op 2002-04-16 15:08 ]
  • Namen als relatie key gebruiken kan, maar is natuurlijk niet de meest ideale (lees: snelle) situatie. Het is beter om je datamodel aan te passen zodat personen een uniek id krijgen en met deze unieke id kan je dan koppelingen maken met andere tabellen (waar dan bijvoorbeeld de diplomagegevens in staan).

    Maar dat terzijde, nu even terugkomen op je probleem. Wat je kan doen is een outer join uitvoeren op de twee tabellen waarbij je de naam (of de id :wink:) als koppel id gebruikt.
    Uitleg:
    Een "normale" join geeft alleen gegevens terug waarvoor geldt dat er in beide tabellen gerelateerde gegevens voorkomen. En deze kan je dus hier niet gebruiken.
    Voor een outer join geldt dat je een Null waarde terugkrijgt voor de "missing data".

    btw. Sabine de oplossing met de geneste loop is natuurlijk behoorlijk ranzig :wink:

    _________________
    NU EVEN NIET!!! KUNNEN JULLIE NU HELEMAAL NIETS ALLEEN??!! :wink:

    [ Dit bericht is bewerkt door: Annie op 2002-04-16 19:59 ]
  • [code:1:6a79110f80]
    <%
    Dim oConnection, sSql, rsResultSet

    Set oConnection = Server.CreateObject("ADODB.Connection";)
    oConnection.Open "FILEDSN=c:Program FilesCommon FilesODBCData Sourcesyourdb.dsn"

    sSql = ""
    sSql = sSql + "SELECT t1.name, t1.number, ISNULL(t2.degree,'unknown') FROM table1 t1, table2 t2 "
    sSql = sSql + "WHERE t1.name = t2.name"
    rsResultSet = oConnection.execute(sSql)

    if rsResultSet.EOF AND rsResultSet.BOF then
    response.write("Your query returned no results.";)
    else
    while NOT rsResultSet.EOF
    'jouw code voor de table
    rsResultSet.moveNext
    wend
    end if
    %>
    [/code:1:6a79110f80]

    /E
  • Hmm, nu ik het antwoord hierboven zie en de vraag nog een keer doorlees zie ik dat ik een fout heb gemaakt.
    Het gaat om een 1 op 1 relatie en dan kan je wel gewoon een inner join gebruiken.

Beantwoord deze vraag

Dit is een gearchiveerde pagina. Antwoorden is niet meer mogelijk.