我是sql和php的新手。我基本上有两张桌子,一张是来自特定组的男性图像,另一张是同一组女性的图像。我想创建一个表格,其中包含可以从这个男性和女性数据库制作的所有可能的夫妇,以便该群体中的人可以对最有可能形成的夫妇进行投票。
一张桌子被称为" imagesmen"有2列,image_id(自动增量),文件名;另一个名为" imageswomen"有2列image_id(自动增量)和文件名。
我想将它们组合到表格中#34;情侣"有4列:" couple_id(autoinc),image_men_id,image_women_id,投票"。
最终目的是一个网站,随机选择2名男性和女性,人们可以投票"可能发生"或者"不太可能发生",增加专栏"投票"减1或减1。
将什么是正确的sql语法放在我的php文件中?
非常感谢!!
答案 0 :(得分:1)
如果您使用的是mySQL,则可以轻松使用order by rand 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
...