Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • SEARCH
  • Home
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 567713
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: May 13, 20262026-05-13T13:06:45+00:00 2026-05-13T13:06:45+00:00

I have this query intended for reporting off of a MySQL database. The query

  • 0

I have this query intended for reporting off of a MySQL database. The query works fine if the sub-query returns some result. However if the sub-query returns no results with the error ‘column lessonId cannot be null’. I guess this is logical, but I really never want the report to fail (the date is input by the user)…I want it to just output all levels with zeros. Essentially I just need it to ignore the LEFT JOIN if that query returns no results.

So how do I get around this? I tried an IF statement, but I can’t get it working. PLEASE HELP:)

SELECT Level.name as levelName,Lesson.name as lessonName, num_at_level
FROM Level 
INNER JOIN 
  `Lesson`
ON Lesson.LevelId = Level.id
LEFT JOIN
  (SELECT lessonId as lessonId, count(*) as num_at_level 
  FROM `has_Lesson`
  WHERE dateStarted <= '2010-01-09'
  GROUP BY lessonId
  ) as t_num_at_level
ON lessonId= Lesson.id;
  • 1 1 Answer
  • 0 Views
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. Editorial Team
    Editorial Team
    2026-05-13T13:06:45+00:00Added an answer on May 13, 2026 at 1:06 pm

    I’d write this query in the following way:

    SELECT v.name AS levelName, l.name AS lessonName, 
      COUNT(h.dateStarted) AS num_at_level
    FROM Level v
    INNER JOIN Lesson l
      ON v.id = l.LevelId
    LEFT JOIN has_Lesson h
      ON l.id = h.lessonId AND h.dateStarted <= '2010-01-09'
    GROUP BY v.id, l.id;
    
    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Related Questions

I have this query which works correctly in MySQL. More background on it here
I have a blocking function that executes an asynchronous MySQL query and returns the
I need some help with a group by mysql query clause. Medals Table (this
Have this query: SELECT HOUR( DATE ) AS hr, COUNT( * ) AS cnt
I have this query which is running perfectly From this query I am selecting
I have this query in sql server 2000: select pwdencrypt('AAAA') which outputs an encrypted
I have this query statement and want to only get records that has a
I have this query in LINQ to Entities. var query = (from s in
I have this query: SELECT page.id, revision.title, revision.number FROM page INNER JOIN revision ON
I have this query this.FixturePartidoPuntaje.Load(); var partidos = from q in this.FixturePartidoPuntaje where (

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.