Likes Likes:  0
Resultaten 1 tot 9 van de 9
Geen
  1. #1
    Shenzou
    [SQL] complexe queries uitvoeren
    Gast
    n/a Berichten
    Berichten zijn liked



    Thread Starter

    [SQL] complexe queries uitvoeren

    Ik heb twee tabellen, productCategory en productListing die er als volgt
    uitzien:

    productListing (productId is hier primary key)
    +----------+----------------+
    | productId| navText |
    +----------+----------------+
    | 000010 | product_naam1 |
    | 000008 | product_naam2 |
    | 000009 | product_naam3 |



    productCategory
    +----------+------------------+
    | productId| subLabel |
    +----------+------------------+
    | 000008 | images |
    | 000008 | references |
    | 000009 | specifications |
    | 000008 | description |

    Wat ik wil bereiken: productListing.navText tonen enkel en alleen
    wanneer productListing.productId ook voorkomt (liefst zelfs wanneer dit
    meer dan tweemaal voorkomt) in productCategory.productId.

    Welke syntax kan ik hier voor gebruiken? Ik heb gisteren met WHERE
    COUNT(productCategory.productId)>0 zitten proberen maar dat wilde niet
    lukken. En op school heb ik vorig jaar complexe queries met SQL gezien
    (wat ik zeer interessant vond overigens toen ik zag wat er allemaal
    mogelijk is mlet zo'n database) maar ik vind mijn nota's daarover niet
    meer terug

    Is er trouwens op internet misschien ook een website te vinden die
    complexe queries duidelijk uitlegt?

    Alvast bedankt.

  2. #2
    Thijs-jan Veldhuizen
    [SQL] complexe queries uitvoeren
    Gast
    n/a Berichten
    Berichten zijn liked



    Thread Starter

    Re: [SQL] complexe queries uitvoeren

    Shenzou wrote:
    > Ik heb twee tabellen, productCategory en productListing die er als volgt
    > uitzien:
    >
    > productListing (productId is hier primary key)
    > +----------+----------------+
    > | productId| navText |
    > +----------+----------------+
    > | 000010 | product_naam1 |
    > | 000008 | product_naam2 |
    > | 000009 | product_naam3 |
    >
    >
    >
    > productCategory
    > +----------+------------------+
    > | productId| subLabel |
    > +----------+------------------+
    > | 000008 | images |
    > | 000008 | references |
    > | 000009 | specifications |
    > | 000008 | description |
    >
    > Wat ik wil bereiken: productListing.navText tonen enkel en alleen
    > wanneer productListing.productId ook voorkomt (liefst zelfs wanneer dit
    > meer dan tweemaal voorkomt) in productCategory.productId.
    >
    > Welke syntax kan ik hier voor gebruiken? Ik heb gisteren met WHERE
    > COUNT(productCategory.productId)>0 zitten proberen maar dat wilde niet
    > lukken. En op school heb ik vorig jaar complexe queries met SQL gezien
    > (wat ik zeer interessant vond overigens toen ik zag wat er allemaal
    > mogelijk is mlet zo'n database) maar ik vind mijn nota's daarover niet
    > meer terug
    >
    > Is er trouwens op internet misschien ook een website te vinden die
    > complexe queries duidelijk uitlegt?
    >
    > Alvast bedankt.


    SELECT navText FROM productListing INNER JOIN (SELECT productId FROM
    productCategory HAVING COUNT(productCategory.*) > 2) ON
    productListing.productId = productCategory.productId;

    Zou de truc kunnen doen (niet getest). Maar dan moet je database wel
    subqueries ondersteunen.

    T-j

  3. #3
    Johan Schoone
    [SQL] complexe queries uitvoeren
    Gast
    n/a Berichten
    Berichten zijn liked



    Thread Starter

    Re: [SQL] complexe queries uitvoeren

    Shenzou wrote:

    > Ik heb twee tabellen, productCategory en productListing die er als volgt
    > uitzien:
    >
    > productListing (productId is hier primary key)
    > +----------+----------------+
    > | productId| navText |
    > +----------+----------------+
    > | 000010 | product_naam1 |
    > | 000008 | product_naam2 |
    > | 000009 | product_naam3 |
    >
    >
    >
    > productCategory
    > +----------+------------------+
    > | productId| subLabel |
    > +----------+------------------+
    > | 000008 | images |
    > | 000008 | references |
    > | 000009 | specifications |
    > | 000008 | description |
    >
    > Wat ik wil bereiken: productListing.navText tonen enkel en alleen
    > wanneer productListing.productId ook voorkomt (liefst zelfs wanneer dit
    > meer dan tweemaal voorkomt) in productCategory.productId.


    De JOIN operator lijkt hiervoor geschikt, dus het wordt iets als:

    SELECT navText FROM productListing, productCategory
    WHERE productListing.productId = productCategory.productId
    GROUP BY productCategory.productId
    HAVING COUNT(*) > 2;

    > Welke syntax kan ik hier voor gebruiken? Ik heb gisteren met WHERE
    > COUNT(productCategory.productId)>0 zitten proberen maar dat wilde niet
    > lukken. En op school heb ik vorig jaar complexe queries met SQL gezien
    > (wat ik zeer interessant vond overigens toen ik zag wat er allemaal
    > mogelijk is mlet zo'n database) maar ik vind mijn nota's daarover niet
    > meer terug


    Je was op de goede weg met de query, maar COUNT(*) werkt alleen i.c.m. GROUP
    BY voor wat je wilt.

    > Is er trouwens op internet misschien ook een website te vinden die
    > complexe queries duidelijk uitlegt?


    Geen idee. Kijk eens op http://databases.oreilly.com/ voor boeken.
    --
    Assume nothing, expect anything.

  4. #4
    Shenzou
    [SQL] complexe queries uitvoeren
    Gast
    n/a Berichten
    Berichten zijn liked



    Thread Starter

    Re: [SQL] complexe queries uitvoeren

    Johan Schoone wrote:

    >
    > De JOIN operator lijkt hiervoor geschikt, dus het wordt iets als:
    >
    > SELECT navText FROM productListing, productCategory
    > WHERE productListing.productId = productCategory.productId
    > GROUP BY productCategory.productId
    > HAVING COUNT(*) > 2;
    >


    Bedankt! Dat werkt. Je zegt eerst dat de JOIN operator hiervoor geschikt
    maar in je voorbeeld gebruik je die niet?

    >
    >
    > Geen idee. Kijk eens op http://databases.oreilly.com/ voor boeken.


    Zal daar eens rondneuzen straks.

  5. #5
    Shenzou
    [SQL] complexe queries uitvoeren
    Gast
    n/a Berichten
    Berichten zijn liked



    Thread Starter

    Re: [SQL] complexe queries uitvoeren

    Thijs-jan Veldhuizen wrote:

    >
    >
    > SELECT navText FROM productListing INNER JOIN (SELECT productId FROM
    > productCategory HAVING COUNT(productCategory.*) > 2) ON
    > productListing.productId = productCategory.productId;
    >


    Deze werkt op het eerste zicht niet. Geeft niet, de INNER JOINs en
    HAVINGs en ONs komen terug uit mijn geheugen dus ik weet weer wat ik
    teruk kan bestuderen

  6. #6
    Rene Pijlman
    [SQL] complexe queries uitvoeren
    Gast
    n/a Berichten
    Berichten zijn liked



    Thread Starter

    Re: [SQL] complexe queries uitvoeren

    Shenzou:
    >Je zegt eerst dat de JOIN operator hiervoor geschikt maar in je
    >voorbeeld gebruik je die niet?


    Join is syntactic sugar voor een select uit meerdere tabellen met wat
    condities (select ... from A, B where ...).

    --
    René Pijlman

    Wat wil jij leren? http://www.leren.nl

  7. #7
    Johan Schoone
    [SQL] complexe queries uitvoeren
    Gast
    n/a Berichten
    Berichten zijn liked



    Thread Starter

    Re: [SQL] complexe queries uitvoeren

    Shenzou wrote:

    > Johan Schoone wrote:
    >
    >>
    >> De JOIN operator lijkt hiervoor geschikt, dus het wordt iets als:
    >>
    >> SELECT navText FROM productListing, productCategory
    >> WHERE productListing.productId = productCategory.productId
    >> GROUP BY productCategory.productId
    >> HAVING COUNT(*) > 2;
    >>

    >
    > Bedankt! Dat werkt. Je zegt eerst dat de JOIN operator hiervoor geschikt
    > maar in je voorbeeld gebruik je die niet?


    Hij zit verborgen in de WHERE clause.
    --
    Assume nothing, expect anything.

  8. #8
    Johan Schoone
    [SQL] complexe queries uitvoeren
    Gast
    n/a Berichten
    Berichten zijn liked



    Thread Starter

    Re: [SQL] complexe queries uitvoeren

    Thijs-jan Veldhuizen wrote:

    [...]

    > SELECT navText FROM productListing INNER JOIN (SELECT productId FROM
    > productCategory HAVING COUNT(productCategory.*) > 2) ON
    > productListing.productId = productCategory.productId;
    >
    > Zou de truc kunnen doen (niet getest). Maar dan moet je database wel
    > subqueries ondersteunen.


    Ik mis `GROUP BY productCategory.productId' in dit statement. Dit kan het
    verschil maken.
    --
    Assume nothing, expect anything.

  9. #9
    Thijs-jan Veldhuizen
    [SQL] complexe queries uitvoeren
    Gast
    n/a Berichten
    Berichten zijn liked



    Thread Starter

    Re: [SQL] complexe queries uitvoeren

    Johan Schoone wrote:
    > Thijs-jan Veldhuizen wrote:
    >
    > [...]
    >
    >
    >>SELECT navText FROM productListing INNER JOIN (SELECT productId FROM
    >>productCategory HAVING COUNT(productCategory.*) > 2) ON
    >>productListing.productId = productCategory.productId;
    >>
    >>Zou de truc kunnen doen (niet getest). Maar dan moet je database wel
    >>subqueries ondersteunen.

    >
    >
    > Ik mis `GROUP BY productCategory.productId' in dit statement. Dit kan het
    > verschil maken.


    Ai, stom!

    T-j

Webhostingtalk.nl

Contact

  • Rokin 113-115
  • 1012 KP, Amsterdam
  • Nederland
  • Contact
© Copyright 2001-2026 Webhostingtalk.nl.
Web Statistics