Visualizzazione dei risultati da 1 a 6 su 6
  1. #1

    Order By su due Tabelle

    Un piccolo problema, eseguo una ricerca in una tabella con la seguente:

    SQL = "SELECT A1, A2, A3, A4, A5, B2 FROM TabellaA, TabellaB ORDER BY B2"

    non viene generato nessun errore ma l’ordinamento non viene fatto i base a B2, anzi, non viene fatto in base a niente.

    In sostanza io ho due tabelle collegate da due campi A3-B1

    TabellaA
    A1--A2--A3--A4--A5
    ----------------------------------------
    x - - x -- 1 -- x -- x
    x - - x -- 2 -- x -- x
    x - - x -- 3 -- x -- x


    TabellaB
    B1--B2--B3--B4--B5
    ----------------------------------------
    1 - - z -- y -- y -- y
    2 - - h -- y -- y -- y
    3 - - n -- y -- y -- y




    quello che sto cercando di ottenere e la stampa dei campi A1, A2, A3, A4, A5, B2, ordinati in base a B2.

    Grazie anticipatamente per l’interessamento.

  2. #2
    codice:
    SQL = "SELECT * FROM (SELECT A1, A2, A3, A4, A5, B2 FROM TabellaA, TabellaB) ORDER BY B2"

  3. #3
    Grazie della risposta optime.
    L’ordinamento viene fatto in modo corretto, si verifica un solo problema, quando vado a stampare a video con:

    While Not rs.EOF
    Response.Write rs("A1") & "-" & rs("A2") & "-" & rs("A3") & "-" & rs("A4") & "-" & rs("A5") & rs("B2") & "
    "
    rs.MoveNext
    WEnd

    Mi riporta tutti i record della TabellaA assegnati ad ogni record della TabellaB, in sostanza se nel db vi sono 50 record in TabellaA e 10 record in TabellaB, invece di stamparmi:

    A1(1)-A2(1)-A3(1)-A4(1)-A5(1)-B2(1)
    A1(2)-A2(2)-A3(2)-A4(2)-A5(2)-B2(2)
    A1(3)-A2(3)-A3(3)-A4(3)-A5(3)-B2(3)
    A1(4)-A2(4)-A3(4)-A4(4)-A5(4)-B2(4)
    A1(5)-A2(5)-A3(5)-A4(5)-A5(5)-B2(5)

    Mi da

    A1(1)-A2(1)-A3(1)-A4(1)-A5(1)-B2(1)
    A1(2)-A2(2)-A3(2)-A4(2)-A5(2)-B2(1)
    A1(3)-A2(3)-A3(3)-A4(3)-A5(3)-B2(1)
    A1(4)-A2(4)-A3(4)-A4(4)-A5(4)-B2(1)
    A1(5)-A2(5)-A3(5)-A4(5)-A5(5)-B2(1)
    A1(1)-A2(1)-A3(1)-A4(1)-A5(1)-B2(2)
    A1(2)-A2(2)-A3(2)-A4(2)-A5(2)-B2(2)
    A1(3)-A2(3)-A3(3)-A4(3)-A5(3)-B2(2)
    A1(4)-A2(4)-A3(4)-A4(4)-A5(4)-B2(2)
    A1(5)-A2(5)-A3(5)-A4(5)-A5(5)-B2(2)
    A1(1)-A2(1)-A3(1)-A4(1)-A5(1)-B2(3)
    A1(2)-A2(2)-A3(2)-A4(2)-A5(2)-B2(3)
    A1(3)-A2(3)-A3(3)-A4(3)-A5(3)-B2(3)
    A1(4)-A2(4)-A3(4)-A4(4)-A5(4)-B2(3)
    A1(5)-A2(5)-A3(5)-A4(5)-A5(5)-B2(3)
    A1(1)-A2(1)-A3(1)-A4(1)-A5(1)-B2(4)
    A1(2)-A2(2)-A3(2)-A4(2)-A5(2)-B2(4)
    A1(3)-A2(3)-A3(3)-A4(3)-A5(3)-B2(4)
    A1(4)-A2(4)-A3(4)-A4(4)-A5(4)-B2(4)
    A1(5)-A2(5)-A3(5)-A4(5)-A5(5)-B2(4)
    A1(1)-A2(1)-A3(1)-A4(1)-A5(1)-B2(5)
    A1(2)-A2(2)-A3(2)-A4(2)-A5(2)-B2(5)
    A1(3)-A2(3)-A3(3)-A4(3)-A5(3)-B2(5)
    A1(4)-A2(4)-A3(4)-A4(4)-A5(4)-B2(5)
    A1(5)-A2(5)-A3(5)-A4(5)-A5(5)-B2(5)

    Praticamente mi stampa 500 voci e non 50.


  4. #4

  5. #5
    in effetti stavi facendo una CROSS JOIN. fa' una INNER

  6. #6
    Grazie, appena posso provo.


Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2026 vBulletin Solutions, Inc. All rights reserved.