0

SQL Quires 显示多个值

我的意思是如果 sql 查询实际输出是这样的:

10456123   4561265    12   13   45  55   66
45869655   4556446    99   56   45  45   45

它显示为:

10456123   4561265    12   13   45  55   66
45869655   4556446    99   56   45  45   45
10456123   4561265    12   13   45  55   66
45869655   4556446    99   56   45  45   45

它显示双倍(2 次)

4

2 回答 2

1

尝试添加 DISTINCT:

SELECT DISTINCT * 
  FROM 32r07,
       32r07names 
 WHERE 32r07.htno = 32r07names.htnon 
   AND 32r07.htno = '$name'

SELECT DISTINCT * 
  FROM 32r07names 
 WHERE htnon = '$name'

这不是问题求解器,但它会有所帮助。另外,不要使用 *. 我认为您需要检查表中的重复值。

于 2013-08-23T14:30:29.413 回答
0

您实际上(几乎)执行了两次相同的查询:

SELECT * FROM 32r07, 32r07names WHERE 32r07.htno = 32r07names.htnon AND 32r07.htno = '$name';

可以改写为

SELECT * FROM 32r07 INNER JOIN 32r07names ON htno = htnon WHERE 32r07.htno = '$name';

第二个查询是

SELECT * FROM 32r07names WHERE htnon = '$name';

这就像说,完全:

... WHERE htnon = htno = '$name';

于 2013-08-23T14:28:24.833 回答