Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/63.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
Mysql 如何与where条件进行内部连接_Mysql - Fatal编程技术网

Mysql 如何与where条件进行内部连接

Mysql 如何与where条件进行内部连接,mysql,Mysql,我有下面这样的桌子 CREATE TABLE `CreateEvent_tbl` ( `Event_Id` varchar(10) NOT NULL, `State` varchar(25) DEFAULT NULL, `District` varchar(35) DEFAULT NULL, `School` varchar(150) DEFAULT NULL, `Event_Date` date DEFAULT NULL, `Created_By` varchar(35

我有下面这样的桌子

CREATE TABLE `CreateEvent_tbl` (
  `Event_Id` varchar(10) NOT NULL,
  `State` varchar(25) DEFAULT NULL,
  `District` varchar(35) DEFAULT NULL,
  `School` varchar(150) DEFAULT NULL,
  `Event_Date` date DEFAULT NULL,
  `Created_By` varchar(35) DEFAULT NULL,
  `Created_Date_Time` timestamp NULL DEFAULT NULL,
  PRIMARY KEY (`Event_Id`)



CREATE TABLE `StudentDetails_tbl` (
  `Student_Id` varchar(15) NOT NULL,
  `Event_Id` varchar(10) DEFAULT NULL,
  `Student_Name` varchar(45) DEFAULT NULL,
  `Parents_Name` varchar(90) DEFAULT NULL,
  `Std_Ph_No` varchar(25) DEFAULT NULL,
  `Ph_No_1` varchar(25) DEFAULT NULL,
  `Ph_No_2` varchar(25) DEFAULT NULL,
  `Email_Id` varchar(50) DEFAULT NULL,
  `Address` varchar(250) DEFAULT NULL,
  `Created_By` varchar(25) DEFAULT NULL,
  `Created_Date_Time` timestamp NULL DEFAULT NULL,
  PRIMARY KEY (`Student_Id`)



 CREATE TABLE `BuyerDetails_tbl` (
  `Event_Id` varchar(10) DEFAULT NULL,
  `Student_Id` varchar(15) DEFAULT NULL,
  `Call_Buy_Id` varchar(10) DEFAULT NULL,
  `Buyer_Id` varchar(10) NOT NULL,
  `Purchased_Date` date DEFAULT NULL,
  `No_Of_Reference` int(11) DEFAULT NULL,
  `Created_By` varchar(45) DEFAULT NULL,
  `Created_Date_Time` timestamp NULL DEFAULT NULL,
  PRIMARY KEY (`Buyer_Id`)
我的问题是:

      select CreateEvent_tbl.Event_Id,CreateEvent_tbl.State,StudentDetails_tbl.Student_Id,StudentDetails_tbl.Student_Name,BuyerDetails_tbl.Purchased_Date
 from CreateEvent_tbl
     inner join  BuyerDetails_tbl on CreateEvent_tbl.Event_Id=BuyerDetails_tbl.Event_Id
     inner join StudentDetails_tbl  on StudentDetails_tbl.Student_Id=BuyerDetails_tbl.Student_Id
     where BuyerDetails_tbl.Buyer_Id="B045";
当我从BuyerDetails\u tbl按买家Id搜索时,显示StudentDetails\u tbl和CreateEvent\u tbl中的StudentDetails和EventDetails,其中Student\u Id和Event\u Id在BuyerDetails\u tbl中

但上面的查询不起作用,没有显示任何内容

我错在哪里


注意:我是新加入查询的。

因为您正在寻找一个特定的买家,我将从列表中的第一个表开始,然后加入其他两个表。另外,为了缩短查询的可读性,请注意通过ce、sd和bd的表名与所有列名和联接的长表名之间的别名

select 
      ce.Event_Id,
      ce.State,
      sd.Student_Id,
      sd.Student_Name,
      bd.Purchased_Date
   from 
      BuyerDetails_tbl bd
         inner join CreateEvent_tbl ce
            on bd.Event_Id = ce.Event_Id
         inner join StudentDetails_tbl sd 
            on bd.Student_Id = sd.Student_Id
   where 
      bd.Buyer_Id = "B045";
我会根据查询条件和连接条件确保您有适当的索引


BuyerDetails\u tbl-对买家id进行索引以优化您的WHERE标准。

这不是实际尝试的select-其中有额外的`,导致语法无效!确保逐字发布实际代码。在任何情况下,可能只是没有匹配的数据?如果删除了WHERE,会发生什么情况?是否有结果?若有,原因为何?这和加入没有任何关系。如果不删除其中一个联接,是否有预期的结果?重复此过程,即对自己的问题进行故障排除,直到确定实际原因。如果原因是孤立的,那么问一个问题-提供更多上下文。@user2864740显示正确的结果,如果我删除where。但我想通过使用买方Id来过滤结果,那么我该怎么做呢?那么很可能没有Id为B045的买方。确保输出中存在这样一行,但不包含WHERE。可能是BO45吗?或者,可能是字符填充或空格的问题。若要查看是否是这种情况并修复它,请尝试:where trimbuerdetails\u tbl.Buyer\u Id=B045。@user2864740抱歉,我现在得到了正确的错误,在“where子句”中显示未知列“B045”。现在该怎么办?使用正确的MySQL引号,如图所示-尽管“B045”也可以工作,并且根据SQL标准是正确的。该错误是由于未使用任何错误的引号导致的:其中..=B045或使用`标识符引号错误:其中..=`B045`。