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