php - mysql 从表中选择不同的(clientid)

标签 php mysql

我有一个问题无法解决。 首先我这样做了

SELECT DISTINCT(ClientID) AS ID 
FROM table 
WHERE column4 IS NOT NULL AND TRIM(column4) <> '' 
ORDER BY ClientID ASC

效果很好,但我现在的问题是在我从表中获得唯一的 clientid 之后。 尝试取出第 3 或第 4 列中没有值的其他唯一 clientid

我确实尝试过这个,但显然是错误的,因为我得到的 clientid 曾经在第 3 列和第 4 列中具有值

SELECT DISTINCT(ClientID) AS ID 
FROM table 
WHERE ClientID != '(SELECT DISTINCT(ClientID) 
                      FROM table 
                      WHERE column4 IS NOT NULL AND TRIM(column4) <> '' )' 
ORDER BY ClientID ASC

表格是这样的

Table
   ClientID - can be 2..3...4 times in the table
   ID       - unique id
   column3 - can be empty
   column4 - can be empty
   column5 - can be empty

最佳答案

WHERE ClientID != 'SELECT ...' 不正确。子查询周围的引号将其转换为字符串,从而消除了它所具有的任何“查询性”。你应该这样做

WHERE ClientID != (SELECT ....)

相反。或者最好是 NOT IN,而不是 !=

关于php - mysql 从表中选择不同的(clientid),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19454521/

相关文章:

php - 是否有 PHP 函数或方法来对数据进行校验和?

javascript - 使用 PDO 查询构建选择列表作为 optional

PHP。在注册步骤中使用地理编码谷歌API

php - 在 php 中正确处理来自 mysqli 准备语句的数据

php - 将 PHP 表单发送到 MySQL 数据库

mysql - 如何在此 MySQL 查询中使用 CASE?

php - 从mysql中选择随机表时如何设置异常?

php - 使用 PHP 的网页连接到远程 MySQL 数据库

php - 如何在 Wordpress 数据库的 mysql 中将行值转换为列标题

mysql - Pandas 导入未插入所有行