php - Mysql多表查询方法

标签 php mysql

我有这个代码:

<?php
mysql_connect('localhost', 'sql', 'abc123');
mysql_select_db('common');
$phone_mobile = mysql_real_escape_string($_POST['phone_mobile']);
$result = mysql_query('SELECT phone_mobile FROM leads WHERE phone_mobile = "'.$phone_mobile.'"');
if(mysql_num_rows($result)>0){
echo 1;
} else {
echo 0;
}
?>

这行得通;但是我在表“联系人”中有相同的列。

因此我需要查询表(leads)和表(contacts)以获取相同的列名(phone_mobile)。

如果 phone_mobile 在“leads”或“contacts”或两者中,则返回结果。

我假设 UNION 或 JOIN 查询是有序的?

提前致谢。

约翰

最佳答案

你可以使用 UNION

$result = mysql_query('  SELECT phone_mobile FROM (
  SELECT phone_mobile FROM leads WHERE phone_mobile = "'.$phone_mobile.'"
  UNION
  SELECT phone_mobile FROM contacts WHERE phone_mobile = "'.$phone_mobile.'"
   )t
  GROUP BY phone_mobile ') ;

关于php - Mysql多表查询方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23865690/

相关文章:

PHP 本地化 - gettext 或 array?

php - mysql插入函数

PHP:重用数据库类

mysql - 在主查询的 "IN"子句中使用逗号分隔列表的子查询结果

mysql - 如何在外键约束中组合字段

php - Laravel 返回最后一个用户

javascript - 无法从 JavaScript 循环打开 PHP 文件

php ini_set 和 ini_get 没有按我想要的方式工作

MYSQL 获取变量数量不正确

mysql - 如何获取MySQL中属于特定用户的 "show databases"?