tietokantakysely

Taulussa a1 on asiakkaita ja asiakkaat yksilöivä sarake id.
Taulussa b1 on tilauksia ja niissä sarakkeessa til_id taulun a1 mukainen id
Haluan tulostaa luettelon asiakkaista, joilla ei ole yhtäkään tilausta.

Tähän varmastikin on jokin yksinkertaisempikin tapa kuin verrata silmukoissa jokaista asiakkaan id:tä jokaiseen tilaukseen. Kiitän vastauksista etukäteen!
6542
Äänestä

Muut lukivat myös

Vastaukset 6

Vanhimmat

Suosittelen lukemaan ajatuksella vaikkapa

https://www.w3schools.com/mysql/mysql_join.asp

tuo taulujen erilaisista linkityksistä kertova opetussivusto. Ratkaiseva idea saattaisi löytyä sieltä esimerkeistä ja harjoituksista.

Äänestä

SELECT * FROM b1
WHERE Maara > '0';

Äänestä
  • Ai niin et kertonut missä sarakkeessa on tilausten määrä, siksi lisäsin sarakkeen "Maara"

    Äänestä

Ei toimi, Täytyy yhdistää tietoja kahdesta taulusta.

Äänestä
  • Silloin olet tehnyt taulukot väärin, yksi yhteinen sarake täyttyy olla taulujen välillä, pelkällä järjestysnumerolla on tyhmää operoida lajitteluja.

    Oikeaoppisessa taulukossa taulujen tietoja useamman taulun välillä liitellään seuraavasti:

    INNER JOIN:
    Palauttaa tietueet, joilla on vastaavat arvot molemmissa taulukoissa.

    LEFT OUTER JOIN:
    Palauttaa kaikki tietueet vasemmasta taulukosta ja vastaavat tietueet oikeanpuoleisesta taulukosta.

    RIGHT OUTER JOIN:
    Palauttaa kaikki tietueet oikeasta taulukosta ja vastaavat tietueet vasemmasta taulukosta.

    FULL OUTER JOIN:
    Palauttaa kaikki tietueet, kun joko vasemmassa tai oikeassa taulukossa on osuma.

    Äänestä

Tauluissa on yhteinen nimittäjä, jos tarkasti lukee:
.
"Taulussa a1 on asiakkaita ja asiakkaat yksilöivä sarake id.
Taulussa b1 on tilauksia ja niissä sarakkeessa til_id taulun a1 mukainen id.
Haluan tulostaa luettelon asiakkaista, joilla ei ole yhtäkään tilausta."

Taulusta b1 haetaan ne rivit, joissa sarakkeessa til_id ei ole mitään taulun id sarakkeessa olevaa arvoa.

Äänestä

Ketjusta on poistettu 1 sääntöjenvastainen viesti.

Kommentoi aloitusta


Anonyymi-ap kirjoitti:

Taulussa a1 on asiakkaita ja asiakkaat yksilöivä sarake id.
Taulussa b1 on tilauksia ja niissä sarakkeessa til_id taulun a1 mukainen id
Haluan tulostaa luettelon asiakkaista, joilla ei ole yhtäkään tilausta.

Tähän varmastikin on jokin yksinkertaisempikin tapa kuin verrata silmukoissa jokaista asiakkaan id:tä jokaiseen tilaukseen. Kiitän vastauksista etukäteen!

Anonyymi
5000

Ilmoita asiaton sisältö

  • Sisältää materiaalia, joka on loukkaavaa, herjaavaa, rasistista, uhkailevaa tai ahdistelevaa.

  • Materiaali sisältää nimiä, yhteystietoja tai muita henkilökohtaisia tietoja. Julkisuuden henkilöistä, julkisissa viroissa toimivista ihmisistä sekä yritysten vastuuhenkilöistä saa keskustella työhön liittyen. Myös yksityiselämään liittyvistä asioista voi keskustella siltä osin, kuin niistä on julkisesti kerrottu.

  • Sisältää lapsille haitallista tai heiltä kiellettyä materiaalia. Seksuaalinen sisältö on sallittua aiheeseen tarkoitetuilla palstoilla, joiden ikäraja on 18 vuotta.

  • Lainvastaista sisältöä voi olla mm. yksityiselämää loukkaavan tiedon levitys, kiihottaminen kansanryhmää vastaan, laiton uhkaaminen, alaikäisiin liittyvä seksuaalinen sisältö/grooming, petokset, identiteettivarkaudet, kunnianloukkaukset ja tekijänoikeusrikkomukset.

  • Sisältö ei liity palstan tai keskusteluketjun aiheeseen.

  • Viesti ei ole suomea tai ruotsia (pl. International Forums), se sisältää mainontaa, se sisältää tekijänoikeuksin suojattua materiaalia, se on massapostitus tai jokin muu syy.

Jaa keskustelu