加入两个没有唯一公共字段的mysql表

时间:2015-06-24 10:03:12

标签: php mysql join

我在调查应用程序中插入数据时犯了一个大错,现在我真的卡住了!我的表格" featuredfilms_EN" 中包含以下字段的电影列表: movieName,ImdbId(电影的唯一ID),年份。在我的调查应用中,我向用户询问了他们最喜欢的电影,并将他们的答案存储在" Answer_CROWD" 表中,其中包含以下字段: qId,answer。 现在我面临一个很大的问题:我需要加入这两个表,但是因为我忘了将unique_Id(ImdbId)存储在" Answer_CROWD"桌子,我不能!:(

如果有人可以加入这两张桌子,有人可以帮助我,我很感激吗?我真的被困了......明天我有一个截止日期,我现在才发现这个大问题。

2 个答案:

答案 0 :(得分:1)

看起来你可以连接movieName&年与年匹配

SELECT * FROM featuredfilms_EN 
JOIN Answer_CROWD ON lower(answer)=lower(concat(trim(movieName), '_', year))

答案 1 :(得分:1)

我在这里写,因为评论会混淆, 现在我看不到表格的字段所以我写通用但我想你明白了:

更新查询:

1将一个名为 Film_id 的字段添加到 Answer_CROWD

2选择id,concat(trim(movieName),'_',year)作为Featuredfilms_EN的标题并放入$ rows

3 in a

`foreach ($rows as $value ){
$id=$value['id'];
$title=$value['title'];
$sql="UPDATE Answer_CROWD SET Film_id='$id' WHERE  lower(answer)=lower('$title')";

....do query

}`