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 7596027
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: May 30, 20262026-05-30T21:49:10+00:00 2026-05-30T21:49:10+00:00

I got three tables objects id, field1, field2, … groups id, title, color group_ref

  • 0

I got three tables

objects     id, field1, field2, ...
groups      id, title, color
group_ref   oid, gid

So every object can be in n groups.

I want to show a list of objects and one field of that list are the groups an object is in. So here is what i came up with:

SELECT o.id,
CONCAT_WS("||", GROUP_CONCAT(gx.gid separator "|"), GROUP_CONCAT(gr.title, "#", gr.color separator "|")) AS groups 
FROM objects AS o 
LEFT JOIN group_ref AS gx ON o.id = gx.oid 
LEFT JOIN groups AS gr ON gx.gid = gr.id 
WHERE 1 
GROUP BY o.id

That actually works and i can create the needed interface out of the (concatenated) groups field.

Problem is: How to select objects who are in one specific group only (e.g. gid=4)?

This only gets a part of the results:

WHERE gr.id = 4

or

HAVING gr.id = 4

Any help greatly appreciated! (maybe there is a more elegant way for the concat thingy too)

  • 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-30T21:49:12+00:00Added an answer on May 30, 2026 at 9:49 pm

    If I understand you correctly, you want to get all objects in group 4 and all the groups those object are in. You want to JOIN on the group_ref table twice, once to filter (regular JOIN) and once to get the related groups (LEFT JOIN).

    SELECT o.id,
    CONCAT_WS("||", GROUP_CONCAT(gx.gid separator "|"),
    GROUP_CONCAT(gr.title, "#", gr.color separator "|")) AS groups 
    FROM objects AS o 
    JOIN group_ref AS gfilter ON o.id = gfilter.oid AND gfilter.gid=4
    LEFT JOIN group_ref AS gx ON o.id = gx.oid 
    LEFT JOIN groups AS gr ON gx.gid = gr.id 
    WHERE 1 
    GROUP BY o.id
    
    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Related Questions

I've got collection of geo objects in database: There are four Tables: Countries Regions
I've got a CAkePHP 1.2 site. I've got three related Models/tables: A Comment has
I've got a database with three tables: Books (with book details, PK is CopyID),
I've got my database set up with three tables - code, tags, and code_tags
i got three tables CATS id name ------------------------------ 1 category1 2 category2 3 category3
I've got a database table with at least three rows in it. From php,
I've got three files on AIX that I need to import into a SQL
I've got three boolean values A, B and C. I need to write an
I've got three entities in my application so far: tag, feed and story A
I've got three columns inside of a div that is the full page width.

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.