Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/238.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 两个表的SQL组合_Php_Mysql_Sql - Fatal编程技术网

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

我是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语法是什么


非常感谢

如果您使用的是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
子句的连接。