Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql 使用join with where子句_Sql_Sql Server - Fatal编程技术网

Sql 使用join with where子句

Sql 使用join with where子句,sql,sql-server,Sql,Sql Server,我尝试编写一个sql命令来搜索数据库。但它不起作用。这是错误的用法吗 也许你需要外部连接而不是内部连接。。 不确定您的情况有什么问题,但请尝试使用左连接。 可能一个表中只有数据,而另一个表中没有相应的数据 而不是 SELECT * FROM Base b JOIN Departement d ON b.d_id = d.d_id JOIN Block bl ON b.b_id = bl.b_id JOIN Model m ON b.m_id = m.m_id WHERE (b.s_no

我尝试编写一个sql命令来搜索数据库。但它不起作用。这是错误的用法吗

也许你需要外部连接而不是内部连接。。 不确定您的情况有什么问题,但请尝试使用左连接。 可能一个表中只有数据,而另一个表中没有相应的数据

而不是

SELECT * FROM Base b 
JOIN Departement d ON b.d_id = d.d_id 
JOIN Block bl ON b.b_id = bl.b_id 
JOIN Model m ON b.m_id = m.m_id 
WHERE (b.s_no LIKE '%' + @search +'%' 
OR b.ser_no LIKE '%' + @search + '%'
OR b.user_name LIKE '%' + @search + '%' 
OR d.d_id LIKE '%' + @search + '%' 
OR bl.b_id LIKE '%' + @search + '%' 
OR m.m_id LIKE '%' + @search + '%' 
OR d.d_name LIKE '%' + @search + '%' 
OR m.m_name LIKE '%' + @search + '%') ";
试试这个:

 SELECT * FROM Base b 
 JOIN Departement d ON b.d_id = d.d_id 
 JOIN Block bl ON b.b_id = bl.b_id 
 JOIN Model m ON b.m_id = m.m_id 
 WHERE (b.s_no LIKE '%' + @search +'%' 
 OR b.ser_no LIKE '%' + @search + '%'
 OR b.user_name LIKE '%' + @search + '%' 
 OR d.d_id LIKE '%' + @search + '%' 
 OR bl.b_id LIKE '%' + @search + '%' 
 OR m.m_id LIKE '%' + @search + '%' 
 OR d.d_name LIKE '%' + @search + '%' 
 OR m.m_name LIKE '%' + @search + '%') ";

如果您详细告诉我们哪里出了问题,我们将能够给出更详细的假设:

这似乎没问题。到底是什么问题?您是否有您认为应该返回但没有返回的示例o数据?在我看来很好,或者可能没有满足您的筛选条件的数据;在您的查询中,我认为您还没有显示完整的代码。谢谢,现在可以使用LEFT JOIN。
 SELECT * FROM Base b 
 LEFT JOIN Departement d ON b.d_id = d.d_id 
 LEFT JOIN Block bl ON b.b_id = bl.b_id 
 LEFT JOIN Model m ON b.m_id = m.m_id 
 WHERE (b.s_no LIKE '%' + @search +'%' 
 OR b.ser_no LIKE '%' + @search + '%'
 OR b.user_name LIKE '%' + @search + '%' 
 OR d.d_id LIKE '%' + @search + '%' 
 OR bl.b_id LIKE '%' + @search + '%' 
 OR m.m_id LIKE '%' + @search + '%' 
 OR d.d_name LIKE '%' + @search + '%' 
 OR m.m_name LIKE '%' + @search + '%') ";