我想要执行高效的 SQL 语句,但我不知道如何正确构建查询。
我有下表:
t1(user_id, test_id, module_id, save_id)
t2(save_id, answer_id)
t2 中的 save_id 是 t1.save_id 的外键
一些条目:
T1:
1, 3, 4, 40
1, 5, 33, 80
2, 5, 33, 90
2, 6, 7, 82
T2:
80, A2
所以现在我想要所有 user_ids 和 answer_id 的值,其中有一个 test_id=3 和 module_id=4 的条目(仅限这些用户!)。搜索到的答案的值始终来自 test_id=5 和 module_id=33,唯一的变量是答案的 save_id。我认为,这可以通过正常的 JOIN 链接,但是如何仅隔离用户,对于哪些用户存在 test_id=3 和 module_id=4 的条目。在此示例中,我只想获取用户 1,用户 2 不相关,因为 test_id=3 和 module_id=4 有 noch 条目。
最佳答案
只需在连接中添加一个 where 子句Select * FROM Table1 t1 JOIN Table2 t2 ON t1.id = t2.t1_id WHERE t1.foo = "bar"AND t2.bar = "foo";
关于mysql - 仅一条 SQL 中的两步 SQL 语句,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44911978/