Avatar billede mvk Nybegynder
28. maj 2003 - 11:13 Der er 19 kommentarer og
1 løsning

Join tabeller

kan man ikke forholdsvis simphelt flette 2 tabeller sammen så man kan vise indhold i tabel 2 på baggrund af data fra tabel 1.

eks:
Tabel 1. holder nogle produkter der er angivet ved mærke
Tabel 2. holder liste over alle mærker samt link til logo

hvis jeg har et par nike sko i tabel 1 - hvordan kobler jeg så det sammen med tabel 2 så jeg kan vise Nikes logo i stedet for navnet Nike.
Avatar billede eagleeye Praktikant
28. maj 2003 - 11:16 #1
Eks:

SQL = "SELECT tabel1.*, tabel2.logo FROM tabel1 LEFT JOIN tabel2 ON tabel1.mærke = tabel2.mærke"
Avatar billede eagleeye Praktikant
28. maj 2003 - 11:18 #2
Den hendter alle produkter fra tabel1 og JOIN'er tabel2 på produktet hvor tabel1.Mærke er lige tabel2.Mærke og så hendter den iøjeblikket logo'et.
Avatar billede eagleeye Praktikant
28. maj 2003 - 11:19 #3
Du kan evt tage et kig her: http://www.w3schools.com/sql/sql_join.asp
Avatar billede mvk Nybegynder
28. maj 2003 - 11:27 #4
<%
"SELECT product.*, brand.Logo FROM product LEFT JOIN brand ON product.Logo = brand.Brand"
%>

hvor viser jeg det billede hvor:
<%=(rsProduct.Fields.Item("Brand").Value)%> = <%=(rsBrand.Fields.Item("Brand").Value)%>
(<img src="/images/brand/<%=(brand.Fields.Item("Logo").Value)%>">)

kan du overhovedet forstå hvad jeg skriver - eller er det for dårligt beskrevet ?
Avatar billede eagleeye Praktikant
28. maj 2003 - 11:34 #5
Det som skal stå her:

ON product.Logo = brand.Brand

Er de to kolonne som er ens i de to tabeller.
Avatar billede eagleeye Praktikant
28. maj 2003 - 11:35 #6
Har du en kolonne i begge tabeller som hedder logo? Så skal du hendte den ene med et alias så den kan se forskel.:

<%
"SELECT product.*, brand.Logo as billede FROM product LEFT JOIN brand ON product.Logo = brand.Brand"
%>

<%=(rsProduct.Fields.Item("Brand").Value)%> = <%=(rsBrand.Fields.Item("Brand").Value)%>
(<img src="/images/brand/<%=(brand.Fields.Item("billede").Value)%>">)
Avatar billede mvk Nybegynder
28. maj 2003 - 11:51 #7
nej desværre - jeg har en kolonne der hedder Brand i begge tabeller - i Brand tabellen er der en kolonne der hedder Logo
Avatar billede eagleeye Praktikant
28. maj 2003 - 11:55 #8
Eks for det viker.. I produkt tabellen har man
produkterNavn :  brand
  Sko        :  Nike


I brand tabellen har man
Brand    :  logo
Nike    :  nikelogo.gif


Dette var et eks om der står Nike som Brand eller et tal er lige meget hovedsagen er at den kun virker hvis der står det samme i de to kolonne.



Prøv med:

<%
"SELECT product.*, brand.Logo FROM product LEFT JOIN brand ON product.Brand = brand.Brand"
%>

<%=(rsProduct.Fields.Item("Brand").Value)%> = <%=(rsBrand.Fields.Item("Brand").Value)%>
(<img src="/images/brand/<%=(brand.Fields.Item("logo").Value)%>">)
Avatar billede mvk Nybegynder
28. maj 2003 - 12:07 #9
okay - det står som du skriver i min db.
http://www.capitolshop.dk/new.asp
Avatar billede mvk Nybegynder
28. maj 2003 - 12:10 #10
Microsoft VBScript compilation error '800a0400'

Expected statement

/new.asp, line 4

"SELECT rsProduct.*, rsBrand.Logo FROM rsProduct LEFT JOIN Brand ON rsProduct.Brand = rsBrand.Brand"
^
Avatar billede mvk Nybegynder
28. maj 2003 - 12:29 #11
<%
SELECT product.*, brand.Logo
FROM product
LEFT JOIN brand
ON product.Brand=brand.Brand
%>
det ser umiddelbart rigtigt ud for mig :) (ud fra http://www.w3schools.com/sql/sql_join.asp)
Avatar billede eagleeye Praktikant
28. maj 2003 - 12:48 #12
Ja det ser rigtigt ud.
Avatar billede eagleeye Praktikant
28. maj 2003 - 12:49 #13
Du ska jo lave en variable som indeholder SQL sætnign:

SQL = "SELECT product.*, brand.Logo as billede FROM product LEFT JOIN brand ON product.Logo = brand.Brand"
Avatar billede eagleeye Praktikant
28. maj 2003 - 12:50 #14
%
"SELECT product.*, brand.Logo FROM product LEFT JOIN brand ON product.Brand = brand.Brand"
%>
Avatar billede eagleeye Praktikant
28. maj 2003 - 12:50 #15
damn det går ikke godt for min copy/paste:

SQL = "SELECT product.*, brand.Logo FROM product LEFT JOIN brand ON product.Brand = brand.Brand"
Avatar billede mvk Nybegynder
28. maj 2003 - 14:09 #16
Microsoft VBScript compilation error '800a0409'

Unterminated string constant

/new.asp, line 4

SQL = "SELECT product.*, brand.Logo
-----------------------------------^

.. det æder den ikke
<%
SQL = "SELECT product.*, brand.Logo
FROM product
LEFT JOIN brand
ON product.Brand=brand.Brand"
%>
Avatar billede mvk Nybegynder
28. maj 2003 - 14:10 #17
sorry - nu er den ok
Avatar billede mvk Nybegynder
28. maj 2003 - 14:11 #18
prøv og se linket - linie 55 er:
(<img src="/images/brand/<%=(brand.Fields.Item("logo").Value)%>">)
Avatar billede eagleeye Praktikant
28. maj 2003 - 15:26 #19
Hvis der er / i filnavnet i kolonnen skal der ikke også være linket efter brand

(<img src="/images/brand<%=(brand.Fields.Item("logo").Value)%>">)
Avatar billede mvk Nybegynder
24. juni 2003 - 11:28 #20
hmmm - det er ikke helt lykkedes, men tak for hjælpen eagle
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

IT-JOB