我正在寻找一个输出两个表的列的查询。我可能正在寻找加入,但如果我加入左表或右表,则可能不会返回值。我曾想过使用 UNION 关键字,但它会将列重命名为一个名称。然后不知道哪一栏有什么。
我希望我的查询选择两个表中的列,但不在乎任何一个表中是否存在与用户名匹配的内容,或者两者都不存在。我只是希望所有没有值的列都在那里。
SELECT *
FROM client_table
JOIN staff_table
ON client_table.username = staff_table.username
WHERE client_table.username = " . mysql_real_escape_string($gotMyUser) . "
OR staff_table " . mysql_real_escape_string($gotMyUser) . " LIMIT 1
更新:
这是查询的输出
Array
(
//FIRST TABLE
[client_id] => 332058
[username] => jake
[firstname] => jake
[lastname] => ****
[email] => *****
[phone] =>
[phone_ext] =>
[mobile] =>
[department] =>
[is_active] => 1
[default_site] => 0
[google] =>
//SECOND TABLE
[staff_id] =>
[group_id] =>
[dept_id] =>
[passwd] =>
[signature] =>
[isactive] =>
[isadmin] =>
[isvisible] =>
[onvacation] =>
[daylight_saving] =>
[append_signature] =>
[change_passwd] =>
[timezone_offset] =>
[max_page_size] =>
[auto_refresh_rate] =>
[created] =>
[lastlogin] =>
[updated] =>
)
这正是我想要的,因为我想知道用户是否有员工 ID 或客户 ID,但取决于我执行的连接(左右或完整),它可能不会返回任何结果。我希望每次执行查询时结果都包含所有这些列,然后进行测试:
if($array['client_id']){
//do stuff with client
}
else if($array['staff_id']){
//do stuff with staff
}