如何查询Mysql多个表

时间:2014-05-26 08:15:04

标签: 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;
}
?>

这有效;但是我在表格中有相同的列#34;联系人&#34;。

因此我需要查询相同列名(phone_mobile)的表(线索)和表格(联系人)。

如果phone_mobile位于&#34;引导&#34;或&#34;联系人&#34;或两者都回显结果。

我假设UNION或JOIN查询正在进行中?

提前完成。

约翰

5 个答案:

答案 0 :(得分:1)

你可以使用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 ') ;

答案 1 :(得分:0)

contacts添加到您的查询

mysql_query("SELECT phone_mobile FROM leads, contacts WHERE phone_mobile = "'.$phone_mobile.'");

一般来说:

SELECET 'Column 1'[,'Column 2','Column 3', ...]
FROM 'Table1', [,'Table 2','Table 3', ...]
WHERE 'Condition 1' [AND 'Condition 2' AND 'Column 3', ...]

如果您的'phone_mobile'列在2个或更多表中的名称不同,请使用以下语法:

SELECT Table1.phone_number_t1, Table2.phone_number_t2

SELECT phone_mobile FROM Table1, Table2

AND Condtions将

WHERE Table1.phone_mobile =“'。$ phone_mobile。'”或Table2.phone_mobile =“'。$ phone_mobile。'”

WHERE phone_mobile =“'。$ phone_mobile。'”

答案 2 :(得分:0)

你可以

 SELECT l.phone_mobile, c.phone_mobile FROM leads l, contacts c WHERE l.phone_mobile = '$phone_mobile' OR c.phone_mobile = '$phone_mobile';

然后检查两个字段是否包含值。

答案 3 :(得分:0)

您只需写下面的查询

$query = "select phone_mobile from leads,contacts where leads.phone_mobile = '".$phone_mobile."'";

$result = mysql_query($query) or die("Mysql error says : ".mysql_error());
if(mysql_num_rows($result)>0){
  echo 1;
} else {
  echo 0; 
}

答案 4 :(得分:0)

尝试使用COALESCE,

SELECT COALESCE(l.phone_mobile,c.phone_mobile) mobilePhone  FROM leads l,
contacts c 
WHERE l.phone_mobile='".$phone_mobile."'