我想连接这两个表,但第二个表的连接键位于查询字符串中,
页面
表格,
page_id url
1 a
2 c
3 d
系统
表,
system_id query
1 page_id=1&content=on&image=on
2 type=post&page_id=2&content=on
如您所见,page_id
是system
表中query 字符串的一部分。
那么我怎样才能像下面的标准连接表方法一样连接它们呢?
SELECT*
FROM page AS p
LEFT JOIN system AS s
ON p.page_id = s.page_id
编辑:
我可以将system
表更改为类似这样的内容,
system_id page_id query
1 1 page_id=1&content=on&image=on
2 2 type=post&page_id=2&content=on
3 NULL type=page
但我不想这样做的原因是 page_id
对于许多特定记录来说是不需要的。我不想创建一个包含太多 null
的列。
最佳答案
我肯定会为 page_id
、content
、image
和 type
创建列(并将它们编入索引) 。那么数据库就会变得更轻并且运行速度也会更快。
关于php - 连接两个表,但连接键位于查询字符串中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10392989/