Php 两个表的SQL组合
我是sql和php的新手。我基本上有两张表,一张是特定群体的男性图片,另一张是同一群体的女性图片。我想创建一个表格,列出所有可以从这个男女数据库中选出的夫妇,这样这个群体的人就可以投票选出最有可能组成的夫妇 一个表称为“ImageMens”,有两列,图像id(自动递增),文件名;另一个名为“imageswomen”,有两列image_id(自动增量)和filename 我想将它们合并到表“coups”中,表中有4列:“coups\u id(autoinc)、image\u men\u id、image\u women\u id、vows” 最终目的是建立一个网站,随机选择2名男性和女性,人们可以投票“可能发生”或“不可能发生”,将“投票数”栏增加1或减少1 在我的php文件中,正确的sql语法是什么Php 两个表的SQL组合,php,mysql,sql,Php,Mysql,Sql,我是sql和php的新手。我基本上有两张表,一张是特定群体的男性图片,另一张是同一群体的女性图片。我想创建一个表格,列出所有可以从这个男女数据库中选出的夫妇,这样这个群体的人就可以投票选出最有可能组成的夫妇 一个表称为“ImageMens”,有两列,图像id(自动递增),文件名;另一个名为“imageswomen”,有两列image_id(自动增量)和filename 我想将它们合并到表“coups”中,表中有4列:“coups\u id(autoinc)、image\u men\u id、im
非常感谢 如果您使用的是mySQL,您可以轻松地使用一个
orderbyrand limit 1
来获取单个随机数据行。然后,您可以强制笛卡尔连接到另一个表,并有效地从每个表中获得一个随机行:
select
a.id,
a.image,
b.id,
b.image
from
(
select
id,
image
from
maleTable
order by
rand()
limit 1
) a
join
(
select
id,
image
from
femaleTable
order by
rand()
limit 1
) b
on 1=1
当您拥有此信息时,您可以将数据存储在另一个表中,以将人们给出的投票与以下结构相关联:
tableVotes:
fID MID Votes
2 45 14
36 2 56
...
请展示您的研究和当前的方法。您是否可以查找SQL join语句,看看这是否适合您的目的?你试过什么?你有什么错误吗?目前我有这样的错误:$imageboy=“SELECT*FROM imagesboysm ORDER BY image_id ASC LIMIT 0,1”$imagegirl=“从imagesgirlsm中选择*按图像\u id排序”@user3683347我在回答中建议的方式每次都会给你一个随机选择,你可以根据你得到的组合轻松地存储/更新投票。@Daan是的,我同意我应该在发布答案之前阅读问题的最后一段:)我已经进行了编辑并添加了更多信息。使用rand()限制1我不会得到重复的记录吗?@user3683347在最初的select语句中,你会得到一个随机匹配的男人和女人。当您要更新投票时,您可以在这里消除重复项(通过使用类似于重复更新上的
。
语法)。@fluffer在表“投票”中插入新记录时,我应该使用什么代码,以检查记录是否不存在?因此,如果记录存在,则只需使用+1更新字段“投票”即可,而不必插入新记录?提示:您可以使用交叉连接
,而不仅仅是连接
,以获得不需要ON
子句的连接。