3个表上的外键联接

威尔逊

我有一个表TableA,其中包含表TableB和TableC的2个不同的外键。我正在尝试从表TableB中获取数据,但取决于表TableC中的值。

通过此查询,我可以获取所有值,但是我不知道如何编写where子句来过滤和获取所需的数据。

SELECT TableC.value1,TableB.value2 
FROM TableA 
JOIN TableB ON TableB.ID = TableA.ID 
JOIN TableC ON TableC.ID = TableA.ID 

编辑:我的桌子的图片。 在此处输入图片说明

因此,我试图显示表B中的数据,但仅显示表C中匹配的数据。

新编辑: 在此处输入图片说明

我从2个表中获取值,但是现在我只需要显示等于“ val2”的列A值。B列的值为“ val2”,“ val2”,“ val3”等的图像。我只需要显示“ val2”即可。

马哈茂德·加马尔

您不必使用WHERE子句。你需要的是修复你的JOIN,使其JOINtablec与条件TableA.TableC_ID = TableC.ID,而不是像这样:

SELECT TableC.value1,TableB.value2 
FROM TableA 
JOIN TableB ON TableB.ID        = TableA.ID 
JOIN TableC ON TableA.TableC_ID = TableC.ID
WHERE tableA.ColumnA = 'val2';

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

3张桌子上的外键联接

来自分类Dev

外键联接表

来自分类Dev

SQL左联接外键两个表

来自分类Dev

参照外键联接两个表

来自分类Dev

带有外键的两个表的休眠联接

来自分类Dev

sql与外键表联接

来自分类Dev

使用外键联接表

来自分类Dev

使用外键联接表

来自分类Dev

sql与外键表联接

来自分类Dev

如何在SQL中的一个表上用两个相同的外键命名联接表中的两列?

来自分类Dev

PostgreSQL:在PgAdmin上具有3个主键的表的外键

来自分类Dev

使用联接表删除重复记录,并在相关表上修复外键

来自分类Dev

用多个外键联接表

来自分类Dev

用相同的外键联接多个表

来自分类Dev

通过一个外键联接三个表

来自分类Dev

用两个不同的外键联接两个表以获得相同的字段

来自分类Dev

三个表上的 SQL Alchemy 外键参考

来自分类Dev

联接表中的ActiveRecord定制外键仅在一个方向上起作用

来自分类Dev

使用外键在两个表之间进行休眠联接

来自分类Dev

如何在没有重复的2个外键上联接表?

来自分类Dev

尝试使用外键在一个语句中联接多个MYSQL表

来自分类Dev

外键如何与3个表一起使用

来自分类Dev

带有3个外键的EF链接表

来自分类Dev

用该表的最大主键联接表的外键

来自分类Dev

两个QuerySet-在第三个模型的公共外键上合并/联接

来自分类Dev

ServiceStack联接3个表

来自分类Dev

3个表的内部联接

来自分类Dev

与多个外键联接

来自分类Dev

与多个外键联接