【问题标题】:Want to avoid the particular rows from select join query... See description想要避免选择连接查询中的特定行...参见描述
【发布时间】:2010-05-13 10:36:17
【问题描述】:

我有一个选择左连接查询,它向我显示最新更改的行(它的时间)列名(“字段”不应该相等)列名(“trackid”不应该相等)和列名“操作应该是”UPDATE“”,下面是我说的查询...

SELECT j1. *
FROM jos_audittrail j1
LEFT OUTER JOIN jos_audittrail j2 ON ( j1.trackid != j2.trackid
AND j1.field != j2.field
AND j1.changedone < j2.changedone )
WHERE j1.operation = 'UPDATE'
AND j2.id IS NULL

我得到字段值为“lastvisitDate”或“hits”的结果

现在我不希望一行显示两个特定列的值,即“字段值”,值是“lastvisitDate”和“hits”

现在,如果我在上述查询中附加条件 " AND j1.field != 'lastvistDate' AND j1.field != 'hits' " 然后我没有得到任何结果...

表结构是

jos_audittrail:

  1. 身份证
  2. trackid
  3. 操作
  4. 旧值
  5. 新价值
  6. 表名
  7. 直播
  8. 改变了(它的时间)

我希望我已经正确地提供了细节如果你仍然发现缺少的东西我会尝试提供更好的方法......

请帮助我避免这两行与提到的“字段”值

【问题讨论】:

  • 您能否举例说明在添加不起作用的子句之前得到的输出?
  • 我正在触发此查询以获取更新操作的最新更改...根据我上面描述的表结构记录在 jos_audittrail 表中...

标签: mysql select left-join


【解决方案1】:

我以这种方式更改了我的选择查询,我得到了我需要的结果

SELECT j1. *
FROM jos_audittrail j1
LEFT OUTER JOIN jos_audittrail j2 ON ( j1.trackid != j2.trackid
AND j1.field = j2.field
AND j1.changedone < j2.changedone )
WHERE j1.operation = 'UPDATE'
AND j2.id IS NULL AND j1.field != 'lastvisitDate' AND j1.field != 'hits'

感谢 Pranav 的支持... :)

【讨论】:

    猜你喜欢
    • 2021-10-15
    • 1970-01-01
    • 2012-09-30
    • 2011-02-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多