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
Database 选择3个表之间的条件_Database_Sqlite_Conditional Statements - Fatal编程技术网

Database 选择3个表之间的条件

Database 选择3个表之间的条件,database,sqlite,conditional-statements,Database,Sqlite,Conditional Statements,我有3张表,分别是名为城市和州和项目 城市 陈述 列city\u id带有city.city\u id的外键 id_state | name_state | city_id 1 | JED 1 | 1(JED) 2 | RYD 1 | 2(RYD) 3 | RYD 2 | 2(RYD) 计划 列state_from_city_id_table_state外键与state.city_id id_project | c

我有3张表,分别是名为
城市
项目

城市

陈述

列city\u id带有city.city\u id的外键

 id_state | name_state | city_id
     1    |    JED 1   | 1(JED)
     2    |    RYD 1   | 2(RYD)
     3    |    RYD 2   | 2(RYD)
计划

列state_from_city_id_table_state外键与state.city_id

id_project | city_id | state_from_city_id_table_state
      1    |     1   |  1(JED)>> (JED1)     question here 
      2    |     2   |  2(RYD)>> (RYD 1 or2) question here 
现在问题是我从项目表中选择了城市id。。。比如1,我只想在
state\u id from table project


像这样
JED>JED1只是我不想看到RYD1和RYD2

请重新表述你的问题。很难猜到您面临的问题是什么。在项目表列city\u id中,如果我选择1,我想在列state\u中看到city\u id\u table\u state中的数字1,而不是2,比如。。。。。。JED>JED 1只是我不想看到RYD1和Ryd2最后的评论应该包括在问题中,你可以编辑它。我正在根据你的外键加入你的表。如果您认为城市id表中的状态是城市id的外键,那么您可以这样做:选择ct.*,st.*,pr.*FROM
city
ct LEFT JOIN
state
ct上的st.
id\u city
=st.
state\u id
LEFT JOIN
project
pr.
id\u city
=pr.
state\u FROM\u city\u id\u table\u state
这是您想要的吗?如果不是,那么请告诉你想要的最终结果。嗯,我不是这样,如果你像在任何网站一样注册,你需要选择州和城市,你有许多州,每个州都有私人城市,我需要这样抱歉,我挣扎着。。。现在city JED如果我选择state i want JED1如果我点击comb only我不想要任何Ryd虽然这段代码可能会回答问题,但最好解释如何解决问题,并提供代码作为示例或参考。只有代码的答案可能会让人困惑,并且缺乏上下文。解决方法是,我在练习后需要它,这段代码是正确的,但需要在代码中更改一些单词
SELECT ct.*, st.*, pr.* FROM `city` ct LEFT JOIN `state` st ON ct.`id_city` = st.`state_id` LEFT JOIN `project` pr ON ct.`id_city` = pr.`city_id`
SELECT ct.*, st.*, pr.* FROM `city` ct LEFT JOIN `state` st ON ct.`id_city` = st.`state_id` LEFT JOIN `project` pr ON ct.`id_city` = pr.`city_id`