在mysql中加入三个表

编程入门 行业动态 更新时间:2024-10-26 08:27:43
本文介绍了在mysql中加入三个表的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧! 问题描述

我有三张桌子如下 ------- 桌名人物 ---------- PersonId HomeId FirstName 电邮 性别 密码 =================== ================= 表名称NoticeBoard -------------- ----------- NoticeBoardId NoticeTitle 通知 CreationDate PersonId ============================ ========= 表名首页 ------- HomeId HomeNumber HomeName 我想搜索sql查询... 如... .. 如果我想找人名,Person HomeNumber和NoticeTitle那么如何查找以下查询是行不通的..

I have three table as follow ------- table name Person ---------- PersonId HomeId FirstName Email Gender Password ==================================== table name NoticeBoard ------------------------- NoticeBoardId NoticeTitle Notice CreationDate PersonId ===================================== table name Home ------- HomeId HomeNumber HomeName I want to make search sql query... as like.. If I want to find person name, Person HomeNumber and NoticeTitle so how to find following query can not work..

ALTER PROCEDURE dbo.sp_Custom_Select_Complain ( @PersonId int = NULL, @FirstName varchar(50) = NULL, @Gender varchar(50) = NULL, @ComplainId int = NULL, @ComplainTitle varchar(100) = NULL, @ComplainInfo varchar(400) = NULL, @HomeId int = NULL, @HomeNumber int = Null, @HomeName varchar(50) = Null ) AS select P.FirstName, P.Gender, C.ComplainTitle, C.ComplainInfo, H.HomeNumber, H.HomeName From Person P Inner Join Complain C On C.PostId = P.PostId Inner Join Home H On H.HomeId = P.HomeId Where (@PersonId Is Null Or P.PersonId = @PersonId) AND (@FirstName Is Null Or P.FirstName LIKE '%' + @FirstName + '%') AND (@Gender Is Null Or P.Gender = @Gender) AND (@ComplainTitle Is Null Or C.ComplainTitle LIKE '%' + @ComplainTitle + '%') AND (@ComplainInfo Is Null Or C.ComplainInfo LIKE '%' + @ComplainInfo + '%') RETURN

------------------- --------------------------- 请帮帮我......

---------------------------------------------- please help me...

推荐答案

尝试将连接更改为左外连接 Try changing your joins to left outer joins

你检查空值传递给整数值。 示例: int? PersonId = Null 或 int? PersonId = 1 Hi, did u check null value passing to integer value. Example : int? PersonId = Null OR int? PersonId = 1

更多推荐

在mysql中加入三个表

本文发布于:2023-10-17 06:20:52,感谢您对本站的认可!
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:mysql

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!