Avatar billede iggipop Nybegynder
13. august 2004 - 14:35 Der er 6 kommentarer og
1 løsning

Svær SQL, for mig ihvert fald

Hej !

Har fået hjælp til at lave denne SQL sætning. Nu skal den udvides da jeg har fået endnu en tabel der hedder Kommentar

strSQL = "SELECT * FROM rapporter LEFT OUTER JOIN billeder on rapporter.id_no = billeder.id WHERE ID_no=" & lngRecordNo & " ORDER BY id_nr;"

Nu skal den tage * med fra kommentar hvor kommentar.id er lig billeder.id
Avatar billede ldanielsen Nybegynder
13. august 2004 - 14:37 #1
strSQL = "SELECT * FROM rapporter LEFT OUTER JOIN billeder ON rapporter.id_no = billeder.id LEFT OUTER JOIN kommentar ON kommentar.id = billeder.id WHERE ID_no=" & lngRecordNo & " ORDER BY id_nr;"
Avatar billede ldanielsen Nybegynder
13. august 2004 - 14:40 #2
Men vær opmærksom på at den tager ALLE rækker fra
rapporter hvor "ID_no  = " & lngRecordNo uanset om der findes tilhørende rækker i de to andre tabeller.

Det er det der kendetegner et OUTER JOIN, modsat et INNER JOIN
Avatar billede iggipop Nybegynder
13. august 2004 - 14:50 #3
Jeg ved ik om jeg kan forklare det på skrift, men LngRecordNo indeholder en id. Den skal så tage alt fra rapporter.id_no som er lig dette. Men derudover skal den tage de rækker fra kommentar og billeder tabellerne hvor kommentar.k_id og billeder.id er lig med rapporter.id_no også....men jeg prøver lige din sql-streng.. Har dårligt styr på det selv :D
Avatar billede iggipop Nybegynder
13. august 2004 - 15:03 #4
Jeg har lige tilrettet SQL'en med det rigtige feltnavn i kommentar. k_id hedder det.. Men jeg får denne fejl

Error Type:
Microsoft OLE DB Provider for ODBC Drivers (0x80040E14)
[Microsoft][ODBC Microsoft Access Driver] Syntax error (missing operator) in query expression 'rapporter.id_no = billeder.id LEFT OUTER JOIN kommentar ON kommentar.k_id = billeder.id'.
/test/krc/darkzone/-fangstrapporter/html/view_selected.asp, line 39



strSQL = "SELECT * FROM rapporter LEFT OUTER JOIN billeder ON rapporter.id_no = billeder.id LEFT OUTER JOIN kommentar ON kommentar.k_id = billeder.id WHERE ID_no=" & lngRecordNo & " ORDER BY id_nr;"
Avatar billede ldanielsen Nybegynder
13. august 2004 - 21:13 #5
Åh det er access ...

Måske skal den ha' en parentes:

strSQL = "SELECT * FROM (rapporter LEFT OUTER JOIN billeder ON rapporter.id_no = billeder.id) LEFT OUTER JOIN kommentar ON kommentar.k_id = billeder.id WHERE ID_no=" & lngRecordNo & " ORDER BY id_nr;"

Ellers kan du åbne databasen i Access, og lave dine joins i forespørgselseditoren
Avatar billede iggipop Nybegynder
14. august 2004 - 02:19 #6
Hmm..den skriver ik noget ud.....

Her er hele koden, kan du hjælpe ?

<% Session.LCID=1030 %>
<%
'if isEmpty(session("UserID")) then
'    Response.Redirect "../../bruger/asp/logadmin.asp?msg=" & Server.URLEncode ("Du skal være logget ind for at se fangstrapporter.")
'end if
%>
<%
'Dimension variables
Dim adoCon             'Holds the Database Connection Object
Dim rsGuestbook        'Holds the recordset for the record to be updated
Dim strSQL            'Holds the SQL query for the database
Dim strsql2
Dim lngRecordNo        'Holds the record number to be updated

'Read in the record number to be updated
lngRecordNo = CLng(Request.QueryString("ID"))

'Create an ADO connection odject
Set adoCon = Server.CreateObject("ADODB.Connection")

'Set an active connection to the Connection object using a DSN-less connection
adoCon.Open "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath("../db/fangster.mdb")

'Set an active connection to the Connection object using DSN connection
'adoCon.Open "DSN=guestbook"

'Create an ADO recordset object
Set rsGuestbook = Server.CreateObject("ADODB.Recordset")

'Initialise the strSQL variable with an SQL statement to query the database
'strSQL = "SELECT rapporter.* FROM rapporter WHERE ID_no=" & lngRecordNo
'strSQL = "SELECT * FROM rapporter,billeder WHERE ID_no=" & lngRecordNo & "" & " order by id_nr"
'strSQL = "SELECT * FROM rapporter INNER JOIN billeder on rapporter.id_no = billeder.id WHERE ID_no=" & lngRecordNo & " ORDER BY id_nr;"
'strSQL = "SELECT * FROM rapporter LEFT OUTER JOIN billeder on rapporter.id_no = billeder.id WHERE ID_no=" & lngRecordNo & " ORDER BY id_nr;"
strSQL = "SELECT * FROM (rapporter LEFT OUTER JOIN billeder ON rapporter.id_no = billeder.id) LEFT OUTER JOIN kommentar ON kommentar.k_id = billeder.id WHERE ID_no=" & lngRecordNo & " ORDER BY id_nr;"


'Open the recordset with the SQL query
rsGuestbook.Open strSQL, adoCon
%>
<html>
<head>
<title>View_selected</title>
<link rel="stylesheet" type="text/css" href="../../style.css">
    <meta http-equiv="Cache-Control" content="no-store">
    <meta http-equiv="Pragma" content="no-cache">

</head>
<body bgcolor="#232323" text="black">
<div align="center">
  <center>
    <table border="0" cellpadding="0" cellspacing="0" style="border-collapse: collapse" bordercolor="#111111" width="530" id="AutoNumber2">
      <tr>
        <td width="100%" class=head align=center>
             
                <% = rsGuestbook("forfatter") %>'s fangstrapport
             
          </td>
      </tr>
        <tr>
          <td width="100%">
          </td>
        </tr>
    </table>
  </center>
</div>

<div align="center">
  <center>
    <table border="0" cellpadding="0" cellspacing="0" style="border-collapse: collapse" bordercolor="#111111" width="530" id="AutoNumber2">
      <tr>
        <td width="100%" align=left class=text1>
                <a href="view_select_bg.asp">
                  Tilbage
                </a>
        </td>
      </tr>
    </table>
  </center>
</div>
<br>
<div align="center">
    <table border="0" cellpadding="0" cellspacing="0" style="border-width:0px; border-collapse: collapse" width="530" id="table2" bordercolor="#000000">
        <tr>
            <td colspan="4" align=center class="head" ><b><% = rsGuestbook("overskrift") %></b></td>
        </tr>
<tr>
            <td colspan="4" align=center class="head">&nbsp; </td>
        </tr>
        <tr>

            <td class="text1" rowspan="9" width="20%" style="border-left: medium none #000000; border-right-style: none; border-right-width: medium; border-top-style: none; border-top-width: medium; border-bottom: medium none #000000">
            <%if len(rsGuestbook("url"))>0 then
     
maksbredde = 150
makshojde = 180
'
'
'Du mangler at ha' komponenten (ImgSize.Check) installeret på serveren Kristian!
'Den bruges til at finde ud af, hvor stort billedet er!
'Måske hedder den noget andet hos din udbyder!?
'
Set objImg = Server.CreateObject("ImgSize.Check")
objImg.FileName = server.mappath(rsGuestbook("url"))
if objImg.Height > makshojde then
    ratio = objImg.Height / makshojde
    newheight = objImg.Height /ratio
    newwidth =  objImg.Width  /ratio
    if newwidth > maksbredde then
        ratio = newwidth / maksbredde
        newheight = newheight /ratio
        newwidth =  newwidth  /ratio
    end if
elseif objImg.Width > maksbredde then
    ratio = objImg.Width / maksbredde
    newheight = objImg.Height /ratio
    newwidth =  objImg.Width  /ratio
    if newheight > makshojde then
        ratio = newheight / makshojde
        newheight = newheight /ratio
        newwidth =  newwidth  /ratio
    end if
else
    newheight = objImg.Height
    newwidth = objImg.Width
end if

      %>

<a href="<%= rsguestbook("url")%>" target=_blank>

<img src="<%= rsguestbook("url")%>" border="0" height="<%= newheight %>" width="<%= newwidth %>" align="top"></a>

<% else %>
<img src="../images/nopix.gif" border="0" align="top">
      <%end if%>

            </td>
            <td class="text1" width="4%" style="border-style: none; border-width: medium">
            &nbsp;</td>
            <td class="text1" width="30%" style="border-style: none; border-width: medium">
            Indsendt af</td>
            <td class="text1" style="border-style: none; border-width: medium" >
            :<% = rsGuestbook("forfatter") %></td>
        </tr>
        <tr>
            <td class="text1" width="4%" style="border-style: none; border-width: medium">&nbsp;</td>
            <td class="text1" width="30%" style="border-style: none; border-width: medium">Dato for fangst</td>
            <td class="text1" style="border-style: none; border-width: medium" >
            :<% = rsGuestbook("fangstmnd") %></td>
        </tr>
        <tr>
            <td class="text1" width="4%" style="border-style: none; border-width: medium">&nbsp;</td>
            <td class="text1" width="30%" style="border-style: none; border-width: medium">Fangst</td>
            <td class="text1" style="border-style: none; border-width: medium" >
            :<% = rsGuestbook("fangst") %></td>
        </tr>
        <tr>
            <td class="text1" width="4%" style="border-style: none; border-width: medium">&nbsp;</td>
            <td class="text1" width="30%" style="border-style: none; border-width: medium">Agn</td>
            <td class="text1" style="border-style: none; border-width: medium" >
            :<% = rsGuestbook("agn") %></td>
        </tr>
        <tr>
            <td class="text1" width="4%" style="border-style: none; border-width: medium">
            &nbsp;</td>
            <td class="text1" width="30%" style="border-style: none; border-width: medium">
            Vægt i kg</td>
            <td class="text1" style="border-style: none; border-width: medium" >
            : <% = rsGuestbook("vaegt") %></td>
        </tr>
        <tr>
            <td class="text1" width="4%" style="border-style: none; border-width: medium">
            &nbsp;</td>
            <td class="text1" width="30%" style="border-style: none; border-width: medium">
            Kategori</td>
            <td class="text1" style="border-style: none; border-width: medium" >
            : <% = rsGuestbook("metode") %></td>
        </tr>
        <tr>
            <td class="text1" width="4%" style="border-style: none; border-width: medium">
            &nbsp;</td>
            <td class="text1" width="30%" style="border-style: none; border-width: medium">
            Sted</td>
            <td class="text1" style="border-style: none; border-width: medium" >
            : <% = rsGuestbook("sted") %></td>
        </tr>
        <tr>
            <td class="text1" width="4%" style="border-style: none; border-width: medium">
            &nbsp;</td>
            <td class="text1" width="30%" style="border-style: none; border-width: medium">
            Oprettet d.</td>
            <td class="text1" style="border-style: none; border-width: medium" >
            : <% = rsGuestbook("dato") %></td>
        </tr>
        <tr>
            <td class="text1" width="4%" style="border-style: none; border-width: medium">
            &nbsp;</td>
            <td class="text1" width="30%" style="border-style: none; border-width: medium">
            Klokken</td>
            <td class="text1" style="border-style: none; border-width: medium" >
            : <% = rsGuestbook("tid") %></td>
        </tr>
       
    </table>
</div>
<br>
<div align="center">
    <table border="0" cellpadding="0" cellspacing="0" style="border-collapse: collapse; border-bottom-width:0px" width="530" id="table2" bordercolor="#000000">

            <tr>
           

        </tr>
        <tr>
        <%
    '    str = rsguestbook("beretning")
    '    str = replace(str, "f1", "<img src='../html-images/bid.jpg' width='45' height='62'>")
    '    str = replace(str, "F1", "<img src='../html-images/bid.jpg' width='45' height='62'>")
    '    str = replace(str, "f2", "<img src='../html-images/fisk.jpg' width='68' height='65'>")
    '    str = replace(str, "F2", "<img src='../html-images/fisk.jpg' width='68' height='65'>")
    '    str = replace(str, "so1", "<img src='../html-images/lake.jpg' width='81' height='47'>")
    '    str = replace(str, "SO1", "<img src='../html-images/lake.jpg' width='81' height='47'>")
    '    str = replace(str, "linux", "<img src='../html-images/linux.jpg' width='68' height='69'>")
    '    str = replace(str, "LINUX", "<img src='../html-images/linux.jpg' width='68' height='69'>")
    '  str = replace(str, "stang1", "<img src='../html-images/rod.jpg' width='53' height='78'>")
    '    str = replace(str, "STANG1", "<img src='../html-images/rod.jpg' width='53' height='78'>")
    '    str = replace(str, ";)", "<img src='../html-images/yellowsmile.gif'>")
    '    str = replace(str, ":o", "<img src='../html-images/1.gif'>")
    '    str = replace(str, ";-)", "<img src='../html-images/2.gif'>")
    '  str = replace(str, ":D", "<img src='../html-images/3.gif'>")
    '    str = replace(str, ":-)", "<img src='../html-images/4.gif'>")
    '  str = replace(str, ":(", "<img src='../html-images/5.gif'>")
        %>
            <td class="text1" colspan="3" style="border-left-color: #000000; border-left-width: 1px; border-right-color: #000000; border-right-width: 1px; border-top-style: none; border-top-width: medium"><%=rsguestbook("beretning")%>
<br><br>
            </td>
   
        </tr>

    </table>
</div>

<br>
<% if rsguestbook("brugernavn") = session("userid") then%>
<div align="center">
<table border='0' cellpadding='0' cellspacing='0' style='border-width:0px; border-collapse: collapse' width='530' id='table2' bordercolor='#000000'>    <tr>
        <td class=text1 align=center>
<a href='xtra/indtast_billede_tekst.asp?id=<%=lngRecordNo%>'>Upload flere billeder</a>
        </td>
    </tr>
</table>
<% End if %>
<br>
<div align="center">
<table border='0' cellpadding='0' cellspacing='0' style='border-width:0px; border-collapse: collapse' width='530' id='table2' bordercolor='#000000'>    <tr>
        <td class=head align=center>
<%

if rsguestbook("id") <> "" then
  response.write "<b>Ekstra billeder</b><br><br>"
  dim i
  i = 0

%>
       
        </td>
    </tr>
</table>
<br>
<table border='0' cellpadding='0' cellspacing='4' style='border-width:0px; border-collapse: collapse' width='530' id='table2' bordercolor='#000000'>
<tr>
<%
    'Loop through the recordset
    Do While not rsGuestbook.EOF
%>
<td class=text1>
  <a href="<%= rsguestbook("sti")%>" target=_blank>
  <img src="<%= rsguestbook("sti")%>" border="0" height="<%= newheight %>" width="<%= newwidth %>" align="top">
  </a>
  <%= rsguestbook("tekst")%>
  </td>
  <%
  If i = 3 then
    response.write "</tr>"
    response.write "<tr>"
    i = 0
  Else
    i= i + 1
  End If

    'Move to the next record in the recordset
    rsGuestbook.MoveNext

Loop

'response.write "</tr>"
'else
'response.write "<b>ingen ekstra billeder</b><br><br>"
End if
%>

</table>

</div>
<%
    'Loop through the recordset
    Do While not rsGuestbook.EOF
%>
<%
Response.write ("Kommentar")
Response.write (rsguestbook("k_id"))
Response.write (rsguestbook("Navn"))
Response.write (rsguestbook("Kommentar"))
Response.write (rsguestbook("Dato"))
Response.write (rsguestbook("Tid"))

%>
<%

    'Move to the next record in the recordset
    rsGuestbook.MoveNext

Loop
%>

</body>
</html>
</font><%
'Reset server objects
rsGuestbook.Close
Set rsGuestbook = Nothing
Set adoCon = Nothing
%>
Avatar billede iggipop Nybegynder
16. august 2004 - 13:13 #7
jeg opretter et nyt spgm og se om der er nogle der har tid til at svare :D
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester