php - 如何忽略 MySQL 查询中 JOIN 表的结果

标签 php mysql sql database

我有以下查询:

$img_sub_qry = "SELECT * FROM images 
JOIN imagsub ON images.image_id = imagsub.image_id
WHERE images.image_id IN ($thelist)";

问题是这个查询正在填充一个下拉框,我得到了双重结果。我只想要 images 表中的结果,但我需要 JOIN 才能获取仅存在于 imagsub 表中的列。从 FirePHP 我可以看到图像表的结果很好,但随后它循环回来并从 imagsub 中提取相同的结果,我不需要这些结果。我试过“SELECT DISTINCT”无济于事。有人可以帮我吗。我是 PHP 的新手,这是我第一次尝试使用 IN。

最佳答案

我认为您在 select distinct 方面走在了正确的轨道上;只需指定您想要的列。如果您要填充下拉列表,请执行以下操作:

$img_sub_qry = "SELECT DISTINCT [colname] as ddlvalue, [colname] as ddltext
    FROM images 
    JOIN imagsub ON images.image_id = imagsub.image_id
    WHERE images.image_id IN ($thelist)";

对于您正在尝试的查询,查询中的每一行都将是不同的,这可能是因为 ID 列。

关于php - 如何忽略 MySQL 查询中 JOIN 表的结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9967870/

相关文章:

sql - SQL 中的 INSERT 与 INSERT INTO

php - 查询结果到对象集合

php - symfony 2 中的结构应用

php - mysql查询多表连接以从一张表中获取排除匹配条件的数据

php - 像 Facebook 一样按用户名对所有消息进行分组

SQL查询大约需要10 - 20分钟

PHP Group by foreach 循环

php - 从表单插入多个值

php - laravel 4 修改 Controller 内的输入值

php - 如何在mysql中插入阿拉伯字母