Goose Juniormester
16. juni 2020 - 12:24 Der er 5 kommentarer og
1 løsning

dato spørgsmål

Jeg har en select som blandt andet indeholder

SELECT
TBL_kursus_tilmelding.id,
COALESCE(donedag1, 0) AS donedag1

FROM TBL_kursus_tilmelding

    LEFT JOIN (SELECT
      kursusid,
      COUNT(*) AS donedag1
    FROM TBL_kursustilmelding_order
    WHERE dag1 = 'checked'
    AND dag1dato <> 'TBL_kursus_tilmelding.kursusdag'
    GROUP BY TBL_kursustilmelding_order.kursusid) donedag1
    ON donedag1.kursusid = TBL_kursus_tilmelding.id

Udfordringen er, at jeg får ikke den korrekte sammentælling.
Udskifter jeg TBL_kursus_tilmelding.kursusdag med en konkret dato, altså f.eks. 2020-06-10, så får jeg den korrekte sammentælling.

Jeg har prøvet alverdens ting med date_format og alle datoer ligger som date i databasen.

Jeg kan simpelthen ikke gennemskue hvorfor jeg ikke kan få det til at virke :-(
tjp Mester
16. juni 2020 - 13:57 #1
Har du prøvet at fjerne ' fra 'TBL_kursus_tilmelding.kursusdag' ?
Goose Juniormester
16. juni 2020 - 14:46 #2
ja det har jeg, men så får jeg blot følgende fejl:
Unknown column 'TBL_kursus_tilmelding.kursusdag' in 'where clause'

og det hælper heller ikke at sætte den ind i min select
SELECT
TBL_kursus_tilmelding.id,
TBL_kursus_tilmelding.kursusdag,
COALESCE(donedag1, 0) AS donedag1

Men kan godt se det er der den halter, jeg kan bare ikke gennemskue hvordan jeg får count til at virke når den skal baseres på oplysning fra en anden tabel :(
Goose Juniormester
16. juni 2020 - 14:49 #3
Det virker fint hvis jeg bruger:

SELECT
TBL_kursus_tilmelding.id,
TBL_kursus_tilmelding.kursusdag,
COUNT(DISTINCT TBL_kursustilmelding_order_1.id) AS donedag1

FROM TBL_kursus_tilmelding

  LEFT JOIN TBL_kursustilmelding_order TBL_kursustilmelding_order_1
    ON TBL_kursustilmelding_order_1.kursusid = TBL_kursus_tilmelding.id
    AND TBL_kursustilmelding_order_1.dag1 = 'checked'
    AND TBL_kursustilmelding_order_1.dag1dato <> TBL_kursus_tilmelding.kursusdag

- men det tager bare en krig at eksekverer
tjp Mester
16. juni 2020 - 16:04 #4
Problemet er at din indlejrede SELECT i LEFT JOIN i dit spørgsmål ikke kan se tabellen TBL_kursus_tilmelding. Du bliver nødt til at tage tabellen med i den indlejredes FROM-clause..
Goose Juniormester
16. juni 2020 - 16:10 #5
Det lyder fornuftigt, mener du dermed jeg skal have endnu en join i den select?
Jeg er sg* ikke så skarp ud i det her, men prøver efter bedste beskub :-)
Goose Juniormester
16. juni 2020 - 17:12 #6
Det ser ud til at virke på den her måde - ikke sikker på den er optimal, men den virker :)

    LEFT JOIN (SELECT
      kursusid,
      COUNT(*) AS donedag1
    FROM TBL_kursustilmelding_order
    WHERE dag1dato <>
    (select kursusdag from TBL_kursus_tilmelding where id=TBL_kursustilmelding_order.kursusid)
    AND dag1 = 'checked'
    GROUP BY TBL_kursustilmelding_order.kursusid) donedag1
    ON donedag1.kursusid = TBL_kursus_tilmelding.id
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

Opret Preview

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





Computerworld
For to år siden nedsænkede Microsoft 864 servere i Nordsøen: Nu er datacenteret på land igen - se resultatet her
Microsoft har efter to år hævet sit undervands-datacenter op af Nordsøen. Her er de erfaringer, selskabet har gjort sig.
CIO
Torben Fabrin og Arla måtte på få dage omstille hele deres produktion da coronaen ramte
Da coronaen ramte verden måtte mejerigiganten Arla på få dage omstille sin produktion. Samtidig voksede salget massivt til supermarkeder mens institutioner og restauranter gik næsten i stå. Hør hvordan Arla kom gennem krisen ved blandt andet være klar med realtime analytics.
Job & Karriere
På jagt efter et it-job i Jylland? Her er 10 stillinger fra Aabenraa til Aalborg, der ledige netop nu
Vi har fundet en række spændende stillinger til dig, der jagter et it-job. Her kan du vælge og vrage mellem ledige stillinger lige fra Aabenraa til Aalborg.
White paper
Bevis værdien ved Vulnerability Management med 4 simple trin
Vulnerability Management kan føles som en endeløs klatretur. Derfor kan du med dette whitepaper få indsigt i hvordan du fokuserer på dine indsatser, beviser værdien af dit program og opnår tillid, budget og anerkendelse med fire simple steps.