Php 在MySQL中从三个表中的数据创建多维数组
我的MySQL数据库中有三个表,我希望从每个表中检索所有数据并将其存储在各自的数组中。 如果不使用三个单独的SQL查询(例如Php 在MySQL中从三个表中的数据创建多维数组,php,mysql,Php,Mysql,我的MySQL数据库中有三个表,我希望从每个表中检索所有数据并将其存储在各自的数组中。 如果不使用三个单独的SQL查询(例如 $table1_array = "SELECT fid FROM table1" ...; $table2_array = "SELECT * FROM table2" ...; $table3_array = "SELECT * FROM table2" ...; 理想情况下,我需要执行一个查询以保持性能 编辑: 下面是我的表格结构的分解: table_photos
$table1_array = "SELECT fid FROM table1" ...;
$table2_array = "SELECT * FROM table2" ...;
$table3_array = "SELECT * FROM table2" ...;
理想情况下,我需要执行一个查询以保持性能
编辑:
下面是我的表格结构的分解:
table_photos
pid, aid, caption, src, filename
table_albums
aid, created, count, name
table_feed
fid, timestamp, message, link, caption, description, type, name, pic_src, type,
filename
谢谢table_photos.aid似乎是table_albums.aid的外键。可以像这样连接前两个表
SELECT * FROM table_photos
JOIN table_albums USING(aid)
但是我看不到与第三个table_feed有任何明显的关系,所以也许您应该通过在脚本中循环来处理该查询
第一步是找出这些数据是如何关联的,第二步是编写代码以形成数据结构。table\u photos.aid似乎是table\u albums.aid的外键。可以像这样连接前两个表
SELECT * FROM table_photos
JOIN table_albums USING(aid)
但是我看不到与第三个table_feed有任何明显的关系,所以也许您应该通过在脚本中循环来处理该查询
第一步是找出这些数据是如何关联的,然后第二步是编写代码以形成数据结构。这些表不共享类似的列,也不是特别相关。@lowe_22如果这些表有不同的结构,它们至少有相同的列数还是几乎相同?老实说,我将只作为三个独立的查询来执行此操作。最昂贵的操作将是fetch循环。然而,我甚至不会担心它,直到它成为一个问题。如果它不能扩展,并且您不能满足您的性能要求,那么就需要担心对查询进行一些棘手的操作。但等到有确凿证据表明性能不好时,再对三个完全不相关的表进行奇怪的合并。@Jason McCreary,我不确定,谢谢:尝试使用联接或交叉联接。。。如果不能用常规方式将它们组合起来,则可能是做错了。当列数相等时,将使用UNION,但这里不是这种情况。这些表不共享类似的列,也没有特别的相关性。@lowe_22如果表具有不同的结构,它们是否至少有相同的列数,或者几乎相同的列数?老实说,我会将其作为三个独立的查询来执行。最昂贵的操作将是fetch循环。然而,我甚至不会担心它,直到它成为一个问题。如果它不能扩展,并且您不能满足您的性能要求,那么就需要担心对查询进行一些棘手的操作。但等到有确凿证据表明性能不好时,再对三个完全不相关的表进行奇怪的合并。@Jason McCreary,我不确定,谢谢:尝试使用联接或交叉联接。。。如果不能使用常规方式将它们合并,则意味着您可能做错了。当列数相等时,将使用UNION,但此处的情况并非如此。