首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用联接和where子句

问使用联接和where子句
EN

Stack Overflow用户
提问于 2014-04-09 07:38:31
回答 1查看 50关注 0票数 0
代码语言:javascript
复制
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 + '%') ";

我试图编写一个sql命令来搜索数据库。但不起作用。这是假用法吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-04-09 07:56:48

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

而不是

代码语言:javascript
复制
 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 + '%') ";

试试这个:

代码语言:javascript
复制
 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 + '%') ";

如果你告诉我们细节上出了什么问题--我们就能给出更详细的假设:)

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/22955861

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档