Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sqlite/3.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/ant/2.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
Join SQLite选择不同的联接查询如何_Join_Sqlite - Fatal编程技术网

Join SQLite选择不同的联接查询如何

Join SQLite选择不同的联接查询如何,join,sqlite,Join,Sqlite,我有一个sqlite数据库,我正在尝试构建一个查询。我需要检索的表列是下表中的iEDLID: 现在我要说的是下表中的一条已知信息: 以及下表中的nClientLocationID 因此,要求是我需要获取当前的iEDLID来写入、从TbleEntDateLocations查找dEventDate和Tblocation.nClientLocationID,该ID基于我已经拥有的Tblocations.iLocationID和在此屏幕上选择的事件 因此,我需要一个查询来从tblEventDateLoc

我有一个sqlite数据库,我正在尝试构建一个查询。我需要检索的表列是下表中的iEDLID:

现在我要说的是下表中的一条已知信息:

以及下表中的nClientLocationID

因此,要求是我需要获取当前的iEDLID来写入、从TbleEntDateLocations查找dEventDate和Tblocation.nClientLocationID,该ID基于我已经拥有的Tblocations.iLocationID和在此屏幕上选择的事件

因此,我需要一个查询来从tblEventDateLocations中选择不同的表EventDateLocations.iEDLID。。。。 因此,基本上,从另一个查询中,我得到了所需的iEventID和所需的事件ID,但如果dEventDate=select date'now',我需要从表EventDates.iEventDateID中检索iEventDateID以用于表EventDateLocations


这就是我试图对这个查询的连接和语法进行思考的地方…

您似乎想要这样:

select distinct edl.iEDLDID
from
  tblEventDateLocations edl
  join tblEventDates ed on edl.EventDateId = ed.EventDateId
where
  ed.EventId = ?
  and ed.dEventDate = date('now')
  and edl.nClientLocationID = ?
火车在哪里?当然,表示已知的事件ID和位置ID参数


由于nClientLocationId出现在表tblEventDateLocations上,所以您不需要加入表tblLocations,除非您想筛选出位置ID未出现在该表中的结果。

好,我正要说同样的话。我太习惯于做文字查询,并按顺序思考它们。这是一个很好的答案…还有一个问题,我可以使用limit 1只返回一行吗?是的,SQLite支持limit子句,没有理由不支持此查询。另一方面,在这里使用它是否真的合适并不是我能回答的问题——这在很大程度上取决于数据的含义和查询结果的预期用途。问自己一个关键问题是,任意选择一个结果而不是其他结果是否有意义。我需要一个结果在整个应用程序中使用。与ID列表相比,我需要一个可以在数据库中使用、插入和更新的ID。我想我需要问的是,是否有更好的方法确保我只返回一个基于日期、EventID、EventDateID和nClientLocationID的结果?