【问题标题】:MYSQL select field1, field2 only where field1 or field2 does not equal textMYSQL select field1, field2 only where field1 or field2 不等于文本
【发布时间】:2012-11-07 04:23:21
【问题描述】:

我希望将以下 2 个 SQL 语法合并为 1 个 SQL 语法

SELECT sentFrom 
FROM tableName 
WHERE id = :varid 
AND sentFrom != :vartext

SELECT sentTo 
FROM tableName 
WHERE id = :varid 
AND sentTo != :vartext

我想我应该举个例子:

MYSQL 表

-----------------------------------
sentFrom          sentTo
1                 2
1                 3
2                 1
2                 3

查询

select sentFrom where sentFrom != 1 and select sentTo where sentTo != 1

返回:

sentTo 2 但没有 sendFrom 1

sentTo 3 但没有 sendFrom 1

sentFrom 2 但未发送到 1

sentFrom 2 和 sentTo 3

【问题讨论】:

    标签: php mysql sql pdo mysqli


    【解决方案1】:

    我认为这应该会有所帮助。

    SELECT a.sentFrom , b.sentTo FROM 
     (SELECT id, sentFrom FROM tableName WHERE id = :varid AND sentFrom != :vartext) a
    JOIN 
     (SELECT id, sentTo FROM tableName WHERE id = :varid AND sentTo != :vartext) b
    ON a.id = b.id;
    

    如果您认为ID 在每个查询中选择的行中并不常见,则删除连接条件ON a.id = b.id。在这种情况下,它将向您返回查询 1 到查询 2 的记录的 Cartesian product

    【讨论】:

      【解决方案2】:
        Syntex of select query is :
       Select Colname1,Colname2,.... from tablename 
              where colname=value and/or ...
              group by cond..
              having cond...
              order by colname, colname asc/desc
      ======================================
      Ex:
      
        SELECT sentFrom,sentTo  FROM tableName
             WHERE id = :varid AND (sentFrom != :vartext or sentTo != :vartext)
      

      【讨论】:

      • 该列同时包含 sendFrom 和 sentTo 但如果在给定列中 sendFrom = var 文本,我希望它仍然提取 sentTo 而不仅仅是跳过它
      • SELECT sentFrom,sentTo FROM tableName WHERE id = :varid AND (sentFrom != :vartext or sentTo != :vartext or commom_colname != :vartext) 这里commmon colname 是包含两个值的通用列名。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-01-05
      • 2013-12-10
      • 1970-01-01
      • 2012-05-27
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多