这是一个非常基本的问题,但我是SQL的新手,所以它给了我麻烦。
假设我有三个表:X,Y和Z。
X包含Y的外键,Y包含Z的外键。如何选择X中具有Y的外键的所有行,后者又具有Z的外键,后者又匹配某些指定的值?
例如,假设这些是每个表的列:
X =" x_ids"," x_values"," y_foreign_keys"
Y =" y_ids"," y_values"," z_foreign_keys"
Z =" z_ids"," z_values"
我需要找出如何选择X的所有行,我可以追溯到z_values,它等于字符串" test"。
答案 0 :(得分:1)
你可以试试这个:
<强>表格强>
X =&#34; x_ids&#34;,&#34; x_values&#34;,&#34; y_foreign_keys&#34;
Y =&#34; y_ids&#34;,&#34; y_values&#34;,&#34; z_foreign_keys&#34;
Z =&#34; z_ids&#34;,&#34; z_values&#34;
<强> SQL 强>
SELECT * FROM Z
INNER JOIN Y ON z_ids = z_foreign_keys
INNER JOIN X ON y_ids = y_foreign_keys WHERE X.x_values= 'HELLO WORLD';