PHP / MySQL语句 - 从2个表中选择记录

时间:2011-02-01 03:38:27

标签: php mysql

我试图写一个查询,但不知道如何去做。

基本上,我有一个名为auths的列表,它保留了授权用户的用户ID值,格式为逗号分隔如下:

126,163,178

在另一个表中是'usernames',该用户的id是上述值之一。

我想回应用户名。

有人可以帮助我。

干杯,

3 个答案:

答案 0 :(得分:2)

我会重构您的数据库结构,因此您有一个users表,其中包含以下字段:

CREATE TABLE users (
  id INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
  name VARCHAR(100),
  auth BOOL
);

如果您能够在一张桌子上保存明确相关的信息,那么点击2个表是没有意义的。

答案 1 :(得分:0)

你需要创建一个连接表,它将包含author_id和user_id字段,有脚本从逗号分隔字段中提取这些信息......

如果无法重建,请考虑使用临时表

答案 2 :(得分:0)

在MySQL中,无法通过分隔符拆分字符串。您必须使用两个查询。第一个查询是从auths表中获取所有ID。然后在您的应用程序中,以编程方式用逗号分隔ID值。第二个查询将从“usernames”表中选择所有行,其中用户ID在您拥有的ID列表中。