我有点不习惯使用INNER JOIN概念和mySQL& PHP从两个表中调用信息。我认为自己是PHP和PHP的高级初学者。 mySQL,使用Dreamweaver也不时依赖。
我所拥有的是一个带有主键account_id
的“帐户”表,当用户登录时,该表存储在会话中。我有一个m2m表存储account_id
并且它是{{ 1}}。最后我有一个production_id
表,主键是(你猜对了)Productions
。我要做的是让它查找用户被分配到的所有作品(通过m2m表),并从制作表本身中提取这些特定作品的细节。我假设使用INNER JOIN可以解决这个问题吗?
这是我试图执行的内容(请注意,在Dreamweaver端设置“sessionaccountid”以提取会话数据)。
production_id
不幸的是,这在mySQL中出现了一个Not unique table错误。任何关于让它锁定在右边的指导将不胜感激!当然,如果你还可以解释我做错了什么/你的建议更有意义,那么我可以为自己写下来,那也很棒!
答案 0 :(得分:0)
由于您当前的查询不遵循nether隐式或显式JOIN
语法,因此不正确。
使用显式ANSI JOIN
语法并指定表格在查询中的相关方式
SELECT a.account_id, a.account_name, p.production_id, p.production_name
FROM Junction j JOIN Accounts a
ON j.account_id = a.account_id JOIN Productions p
ON j.production_id = p.production_id
WHERE j.account_id = ?
这是 SQLFiddle 演示