当没有打印任何东西时如何使这个查询工作?
How to make this query work when nothing is not being printed?
我有 3 个数据库文件,给定图像包含其架构
我想获取所有参与电影制作的演员姓名 "Sholay"
我尝试了以下查询
SELECT NAME
FROM Person
WHERE Person.PID IN (SELECT PID
FROM M_Cast
WHERE MID IN(SELECT MID FROM Movie WHERE TITLE="Sholay"))
但是输出屏幕上什么也没有显示,我找不到其他方法来解决这个问题。
请确认您得到的结果是这样的
SELECT PID
FROM M_Cast
WHERE MID IN(SELECT MID FROM Movie WHERE TITLE="Sholay")
您要查找的 PID 为:
SELECT NAME
FROM Person
WHERE Person.PID IN
换句话说:转到 table Persons 并查看 PID 列并检查是否存在与来自 table M_Cast 的 PID 列相同的值查询 returns.
您说您的 2 个内部查询工作正常并且 return 正在获取一些值。伟大的。但是假设这个数字是 555、556、557,table Person 中 PID 列中的值是 001、002、003、004、005、006。
此外,如果 table 人中的 PID 是“01”(类型 varchar),而 table M_Cast 中的 PID 是“1”(类型 varchar),那么您的查询将不会 return 您可以在这个小演示中看到的任何结果:https://dbfiddle.uk/?rdbms=oracle_18&fiddle=07e0c38f1dee01f460d5d00e3902bb93
最后试试这个:
SELECT NAME
FROM Person
WHERE trim(Person.PID) IN (SELECT trim(PID )
FROM M_Cast
WHERE MID IN(SELECT MID FROM Movie WHERE TITLE="Sholay"))
我有 3 个数据库文件,给定图像包含其架构 我想获取所有参与电影制作的演员姓名 "Sholay"
我尝试了以下查询
SELECT NAME
FROM Person
WHERE Person.PID IN (SELECT PID
FROM M_Cast
WHERE MID IN(SELECT MID FROM Movie WHERE TITLE="Sholay"))
但是输出屏幕上什么也没有显示,我找不到其他方法来解决这个问题。
请确认您得到的结果是这样的
SELECT PID
FROM M_Cast
WHERE MID IN(SELECT MID FROM Movie WHERE TITLE="Sholay")
您要查找的 PID 为:
SELECT NAME
FROM Person
WHERE Person.PID IN
换句话说:转到 table Persons 并查看 PID 列并检查是否存在与来自 table M_Cast 的 PID 列相同的值查询 returns.
您说您的 2 个内部查询工作正常并且 return 正在获取一些值。伟大的。但是假设这个数字是 555、556、557,table Person 中 PID 列中的值是 001、002、003、004、005、006。
此外,如果 table 人中的 PID 是“01”(类型 varchar),而 table M_Cast 中的 PID 是“1”(类型 varchar),那么您的查询将不会 return 您可以在这个小演示中看到的任何结果:https://dbfiddle.uk/?rdbms=oracle_18&fiddle=07e0c38f1dee01f460d5d00e3902bb93
最后试试这个:
SELECT NAME
FROM Person
WHERE trim(Person.PID) IN (SELECT trim(PID )
FROM M_Cast
WHERE MID IN(SELECT MID FROM Movie WHERE TITLE="Sholay"))