I need to get names of from and to users to display messages.
I have two tables one user table
CREATE TABLE IF NOT EXISTS USERS(
USER_ID INT UNSIGNED NOT NULL,
USER_EMAILID VARCHAR(100) CHARACTER SET 'latin1' COLLATE 'latin1_bin' NOT NULL,
USER_FIRST_NAME VARCHAR(100) CHARACTER SET 'utf8' COLLATE 'utf8_unicode_ci' NOT NULL,
USER_LAST_NAME VARCHAR(100) CHARACTER SET 'utf8' COLLATE 'utf8_unicode_ci' NOT NULL,
PRIMARY KEY (USER_ID),
INDEX idx_USER_CONFIG_id2 (USER_EMAILID ASC)
)
ENGINE = InnoDB
DEFAULT CHARACTER SET = utf8
COLLATE = utf8_unicode_ci;
and Email table
CREATE TABLE IF NOT EXISTS EMAIL (
MAIL_ID TINYINT UNSIGNED NOT NULL,
FROM_ADD INT UNSIGNED NOT NULL,
TO_ADD INT UNSIGNED DEFAULT NULL,
EMAIL_SUBJECT VARCHAR(75) CHARACTER SET 'utf8' COLLATE 'utf8_unicode_ci' DEFAULT NULL,
MESSAGE TEXT CHARACTER SET 'utf8' COLLATE 'utf8_unicode_ci' DEFAULT NULL,
PRIMARY KEY (MAIL_NO)
)
ENGINE = InnoDB
DEFAULT CHARACTER SET = utf8
COLLATE = utf8_unicode_ci;
I need to query for emails for a particular user and below is what I have
while doing so I also need to bring their names as well. How can I achieve this?
EDIT: (query provided by OP in comment)
SELECT B.TO_ADD, B.FROM_ADD, A.USER_FIRST_NAME, B.MESSAGE
FROM EMAIL B LEFT JOIN
USERS A
ON (A.USER_ID = B.FROM_ADD OR A.USER_ID = B.TO_ADD)
ORDER BY A.USER_FIRST_NAME DESC;
I think you just want two
left join
s: