查找正确的 SQL 查询

斯瓦吉瓦吉

假设我有这些表:

- LEARNERS: LEARNER_ID, LEARNER_NAME
- PACKAGE: PACKAGE_ID, PACKAGE_NAME
- LEARNER_PACKAGES: LEARNER_ID (From LEARNERS table), 
  PACKAGE_ID (From PACKAGE table), DUE_DATE, DATE_COMPLETED (NULLABLE)

我想创建一个 SQL 查询来返回每个学习者的所有包:

对于 LEARNER_ID 123,返回他的所有包裹:

LEARNER_NAME, PACKAGE_NAME, DUE_DATE, DATE_COMPLETED

我试过这个:

SELECT DISTINCT p.PACKAGE_NAME, lp.PACKAGE_ID, lp.DUE_DATE, lp.DATE_COMPLETED 
FROM LEARNER_PACKAGES lp,
     PACKAGE p
WHERE lp.LEARNER_ID = 123 AND
      lp.PACKAGE_ID = p.ID;

它返回一些意想不到的结果,只是所需输出的一部分。但我不知道接下来要尝试什么。

甲骨文快递 12.

斯瓦吉瓦吉

我试图在另一台机器上运行它,它似乎工作正常。

但是,我正在接受您的提示,我将使用JOIN.

SELECT p.PACKAGE_NAME, lp.PACKAGE_ID, lp.DUE_DATE, lp.DATE_COMPLETED 
FROM LEARNER_PACKAGES lp JOIN
     PACKAGE p
     ON lp.PACKAGE_ID = p.ID
WHERE lp.LEARNER_ID = 123 ;

感谢@Jobin 和@Gordon Linoff 提供查询。

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

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

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章