I have 2 tables, one for members and another one for their services. Those are InnoDB tables on MySQL 5.6 server.
Members table:
id     |       name       |   phone ----------------------------------------   1       Daniel             123456789   2       Liam               123456789   3       Lucas              123456789 Services table:
 MID    |    profile    |     lastSeen ----------------------------------------   1       2                  2014-08-13 14:23:23   3       1                  2014-08-12 15:29:11 I try to achieve this result:
 id     | name      | services ---------------------------------   1       Daniel      true   2       Liam        false   3       Lucas       true So if the user ID is exists in services table, the column services will be true or false otherwise.
I tried to do it with JOINs and Sub-Queries without success, so I need your help ;)
The easiest and straightforward way to check for the column in a table is to use the information schema for column system view. Wright a select query for INFORMATION_SCHEMA. COLUMNS as shown below. If the query returns record, then the column is available in the table.
Yep. And it would be possible to use a check constraint to ensure that only one row exists (using Celko's technique here sqlmonster.com/Uwe/Forum.aspx/ms-sql-server/3453/…)
use LEFT JOIN Services table, Try this query
SELECT members.id, members.name,         IF(services.mid IS NULL, FALSE, TRUE) as services FROM members LEFT JOIN services ON (members.id = services.mid) You can use a simple query like this
SELECT     m.id,     m.name     IF(s.MID,true,false) services FROM members m LEFT JOIN services s ON s.profile = m.id If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With