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

  • Home
  • SEARCH
  • 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 61565
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: May 10, 20262026-05-10T18:20:21+00:00 2026-05-10T18:20:21+00:00

I know I’m gonna get down votes, but I have to make sure if

  • 0

I know I’m gonna get down votes, but I have to make sure if this is logical or not.

I have three tables A, B, C. B is a table used to make a many-many relationship between A and C. But the thing is that A and C are also related directly in a 1-many relationship

A customer added the following requirement:

Obtain the information from the Table B inner joining with A and C, and in the same query relate A and C in a one-many relationship

Something like:

alt text http://img247.imageshack.us/img247/7371/74492374sa4.png

I tried doing the query but always got 0 rows back. The customer insists that I can accomplish the requirement, but I doubt it. Any comments?

PS. I didn’t have a more descriptive title, any ideas?

UPDATE: Thanks to rcar, In some cases this can be logical, in order to have a history of all the classes a student has taken (supposing the student can only take one class at a time)

UPDATE: There is a table for Contacts, a table with the Information of each Contact, and the Relationship table. To get the information of a Contact I have to make a 1:1 relationship with Information, and each contact can have like and an address book with; this is why the many-many relationship is implemented.

The full idea is to obtain the contact’s name and his address book. Now that I got the customer’s idea… I’m having trouble with the query, basically I am trying to use the query that jdecuyper wrote, but as he warns, I get no data back

  • 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. 2026-05-10T18:20:21+00:00Added an answer on May 10, 2026 at 6:20 pm

    I’m supposing that s.id_class indicates the student’s current class, as opposed to classes she has taken in the past.

    The solution shown by rcar works, but it repeats the c1.className on every row.

    Here’s an alternative that doesn’t repeat information and it uses one fewer join. You can use an expression to compare s.id_class to the current c.id_class matched via the mtm table.

    SELECT s.name, c.className, (s.id_class = c.id_class) AS is_current FROM s JOIN many_to_many AS mtm ON (s.id_student = mtm.id_student)   JOIN c ON (c.id_class = mtm.id_class); 

    So is_current will be 1 (true) on one row, and 0 (false) on all the other rows. Or you can output something more informative using a CASE construct:

    SELECT s.name, c.className,    CASE WHEN s.id_class = c.id_class THEN 'current' ELSE 'past' END AS is_current FROM s JOIN many_to_many AS mtm ON (s.id_student = mtm.id_student)   JOIN c ON (c.id_class = mtm.id_class); 
    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Ask A Question

Stats

  • Questions 52k
  • Answers 52k
  • Best Answers 0
  • User 1
  • Popular
  • Answers
  • Editorial Team

    How to approach applying for a job at a company ...

    • 7 Answers
  • Editorial Team

    How to handle personal stress caused by utterly incompetent and ...

    • 5 Answers
  • Editorial Team

    What is a programmer’s life like?

    • 5 Answers
  • added an answer The vncserver that's included in Solaris 10 4/08 (Update 5)… May 11, 2026 at 6:41 am
  • added an answer What about vertical sliders? Like a sound mixer. I think… May 11, 2026 at 6:41 am
  • added an answer You could also use NSTableView and create a custom subclass… May 11, 2026 at 6:41 am

Top Members

Trending Tags

analytics british company computer developers django employee employer english facebook french google interview javascript language life php programmer programs salary

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.