webForumDet fria alternativet

Hämta, jämföra, loopa ut (INNER JOIN?)

Databaser & SQLur Databashanterare & SQL

1 svar · 370 visningar · startad av fakenick!

fakenick!Medlem sedan juli 2002202 inlägg
#1

Halloj.

Har två tabeller i databasen.

En som heter webshop som har tre kolumner (id,webshopid,productid).
Denna tabell länkar ihop produkter med de olika webshopparna som finns.

Sedan har jag en som heter products som innehåller information såsom kategori, märke etc.

Vad jag nu vill göra med en SQL-sats är en sortering.

När man väljer i en select-list på kategorin BYXOR t.ex, så skall man endast få upp det
man har i sin egen webshop med kategorin BYXOR
enligt produkt-tabellen.

Har börjat knåpa litegrann.

<select onchange="window.open(this.options[this.selectedIndex].value,'_self')">
<option value="default.asp?category=byxor">byxor</option>
<option value="default.asp?category=skjortor">skjortor</option>
</select>
select p.id, p.gender, p.category, p.brand
from products p join webshop w
on p.id = w.productid where webshopid="& session("WEBSHOPID") &"
group by p.id,p.gender,p.category

Frågan är hur man skall få med allting.

* Hämta rätt webshopid utifrån session
* Joina och jämföra webshop.productid och products.id
* Loopa ut rätt kategori tillsammans med övrig information såsom storlekar, beskrivning etc

LarsGMedlem sedan dec. 200012 464 inlägg
#2

SQL satsen borde vara mer åt detta håll.

select id, 
       gender, 
       category, 
       brand
  from products p 
 where exists
     (select *
        from webshop w
       where p.id = w.productid 
         and webshopid = <webshopid>
   and category =  '<category>'

jag har hoppat över icke sql-detaljer som hur du får rätt värden från ditt formulär :)

130 ms totalt · 3 externa anrop · v20260731065814-full.29ac60f6
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
126 ms — hämta tråd, inlägg och bilagor (db)