我有一个表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
,使其JOIN
在tablec
与条件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] 删除。
我来说两句