我有三个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";
}
}
我的查询有什么问题?
答案 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."'";