MYSQL PHP查询从一个表中获取数据到另一个
我需要过滤基于一个表的数据,但我不知道从MySQL中选择函数的正确用法。下面的代码显示了我想要做的事情,但我认为你可以使用多个SELECT。MYSQL PHP查询从一个表中获取数据到另一个
$query_Student = "SELECT Project_Title, Project_Lecturer FROM projects WHERE Project_id =
(SELECT Proj_id FROM project_course WHERE Cour_id = (SELECT Course_id from courses WHERE
Code = (SELECT Course FROM users WHERE Username = ".$_SESSION['MM_Username']."))"
任何人都可以提供任何帮助,我需要写什么呢?
你想要做的事对我来说并不完全清楚,但为了让你的查询工作,你需要把单引号放在$_SESSION['MM_Username']
左右,就像gogowitsch已经说过的那样。
另外一个关闭paranthese失踪。因此,您的查询应该是这样的:
$query_Student = "SELECT Project_Title, Project_Lecturer FROM projects WHERE Project_id =
(SELECT Proj_id FROM project_course WHERE Cour_id = (SELECT Course_id from courses WHERE
Code = (SELECT Course FROM users WHERE Username = '".$_SESSION['MM_Username']."')))"
但是...
这不是一个很好的书面查询。
我刚才猜测,但也许这是你在找什么:
SELECT
p.Project_Title,
p.Project_Lecturer
FROM projects p
INNER JOIN project_course pc ON p.Project_id = pc.Proj_id
INNER JOIN courses c ON pc.Cour_id = c.Course_id
INNER JOIN users u ON c.Code = u.Course
WHERE u.Username = 'yourUserName';
如果没有,告诉我们您正在使用(为每个表你是做一个SHOW CREATE TABLE projects;
等表使用和张贴在这里),也许你期望的输出,那么我们真的可以帮助。
这似乎工作,但是我意识到我需要在用户表中链接到该项目的用户的名字和姓氏,我会创建一个新的连接查询,或者我可以将它添加到现有的连接查询 –
@NathanLinkAbiola是表中用户的姓和名吗?如果是,只需将它添加到'SELECT'子句中即可,例如:SELECT p.Project_Title, p.Pro ject_Lecturer,u.forename,u.surname FROM projects p ...' – fancyPants
您可能需要在用户名周围添加引号。 $_SESSION['MM_Username']
可以是一个字符串吗?
这个查询给你什么? – Norse
尝试使用“联合”语法来执行一次查询... – HamZa
将会看到该问题 –