如何使用一个SQL查询从两个表中获取结果?

时间:2015-06-05 10:51:35

标签: php mysql sql

我有三个MySQL表

表1。 dcenter 字段是:d_id,名称,位置,地址

表2。 DCDS 字段是:id,d_id,s_id(d_id和s_id是dcenter和服务表的主键)

表3。服务 字段是:s_id,s_name

我有一个搜索框,用户可以按照中心名称搜索,按位置搜索或按服务搜索

我写了一个sql查询来获取使用JOIN的服务列表,但它无法正常工作

代码是

if(isset($_POST['search']))
{
    $data = $_POST['search_text'];

      $query= "SELECT * FROM dcenter JOIN dcds on dcds.d_id=dcenter.d_id JOIN service on service.s_id=dcds.d_id WHERE location = '" . $data. "' || name = '" . $data. "' || s_name '". $data."'";

        $result = mysql_query($query);

        var_dump($result);

        if(!$result)
        {
            echo "no data found";
        }
       }

我的查询有什么问题?

2 个答案:

答案 0 :(得分:1)

如果以下SQL返回结果集

OPTIONAL MATCH

此WHERE标准添加可以帮助您

MATCH period=(a)-[:NEXT_DAY*]->(c)
WHERE a.date="2013-01-20" AND c.date="2013-01-24"
UNWIND nodes(period) as nodes_in_period

OPTIONAL MATCH (nodes_in_period)<-[a:AVAILABLE]-(listing:Listing)

// return the listing, the number of available relationships 
// and the number of days in period
RETURN listing, count(a), count(nodes_in_period)

答案 1 :(得分:0)

试试这个:

 SELECT * FROM dcds JOIN dcenter on dcds.d_id=dcenter.d_id JOIN service on service.s_id=dcds.s_id WHERE location = '" . $data. "' || name = '" . $data. "' || s_name '". $data."'";