简体   繁体   中英

how do I get a result from two tables using one SQL Query?

I have three MySQL tables

table 1 . dcenter fields are: d_id,name,location,address

table 2 . dcds fields are:id,d_id,s_id (d_id and s_id are primary key of dcenter and service table)

table 3 . service fields are: s_id,s_name

I have one search box, where users can search by dcenter name, search by location or search by service

And I wrote a sql query to get a service list using JOIN but its not working

code is

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";
        }
       }

Whats wrong in my query?

If following SQL returns a result set

SELECT * 
FROM dcenter 
JOIN dcds on dcds.d_id = dcenter.d_id 
JOIN service on service.s_id = dcds.d_id

This WHERE criteria addition can help you

SELECT * 
FROM dcenter 
JOIN dcds on dcds.d_id = dcenter.d_id 
JOIN service on service.s_id = dcds.d_id 
WHERE 
    location = '' 
    or name = '' 
    or s_name = ''

尝试这个:

 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."'";

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM