【问题标题】:Compare columns depending on the value of rows根据行的值比较列
【发布时间】:2013-11-15 01:52:25
【问题描述】:

我是 MySQL 语法的新手,请帮忙。

更新查询:

$query = mysql_query("SELECT  campaign, team, employeeName, shiftcode, scheduleDate,STR_TO_DATE(scheduleIn,'%h:%i %p')  as ScheduleIn, STR_TO_DATE(scheduleOut,'%h:%i %p')  as ScheduleOut, STR_TO_DATE(MID(scheduleIn,7,4), '%h:%i') as sIn FROM tbl_uploadedschedule WHERE NOT EXISTS(SELECT scOrigtimein, scOrigtimeout FROM tbl_shiftcode WHERE STR_TO_DATE(tbl_uploadedschedule.scheduleIn,'%h:%i %p') = tbl_shiftcode.scOrigtimein or STR_TO_DATE(tbl_uploadedschedule.scheduleOut,'%h:%i %p')=tbl_shiftcode.scOrigtimeOut )") or die(mysql_error());

但它什么也不返回,不知道 STR_TO_DATE() 是否在 WHERE 子句中不能正常工作

【问题讨论】:

  • 你有什么理由不从 tableB 中选择 * 吗?
  • 两者的Primary Keys 是什么?或者Foreign key 是另一个?
  • @FilipeSilva - 是的,我可以在 tableB 中选择 *,我只是不知道什么是正确的语法。表 B 也有一个字符串时间,需要在我比较之前转换为时间。
  • @Edper - 我不知道在比较每一行中的数据时,主键或外键是否是一个大问题,这取决于另一行的值。如果我解释得对,请告诉我。

标签: php mysql multiple-columns rows


【解决方案1】:

尝试使用NOT EXISTS 喜欢:

SELECT * FROM TableB
WHERE NOT EXISTS 
(SELECT * FROM TableA
 WHERE TableB.Shift_Codes=TableA.Shift_Codes
 AND TableB.Time_in = TableA.Time_in 
 AND TableB.Time_out = TableA.Time_out)

Fiddle Demo

使用STR_TO_DATE()

SELECT * FROM TableB
WHERE NOT EXISTS 
(SELECT * FROM TableA
 WHERE TableB.Shift_Codes=TableA.Shift_Codes
 AND STR_TO_DATE(TableB.Time_in,'%h:%i:%s') = STR_TO_DATE(TableA.Time_in,'%h:%i:%s') 
 AND STR_TO_DATE(TableB.Time_out,'%h:%i:%s') = STR_TO_DATE(TableA.Time_out,'%h:%i:%s'))

Demo

【讨论】:

  • 我有什么办法可以使用 STR_TO_DATE() 作为我的 WHERE 子句来执行该代码?
  • 每当我在 WHERE 子句中使用 STR_TO_DATE() 时,它总是返回空值。我不知道为什么。
  • 是的,如果你只想要小时、分钟和秒,你可以喜欢,例如,STR_TO_DATE(Time_in,'%h:%i:%m')。
  • 我已经使用了你建议的代码,但它仍然返回空白数据。我使用 STR_TO_DATE('col_name','%h:%i %p') 字符串格式 ("07:30 AM") 转换为时间和 STR_TO_DATE(MID('col_name',7,4), '%h :%i') 用于字符串格式(“RD/OT 07:30”),但仍然无法正常工作。
  • 请看我上面更新的帖子,它是我到目前为止的实际查询/数据,但它仍然没有返回任何内容。
猜你喜欢
  • 2018-01-17
  • 1970-01-01
  • 2022-01-20
  • 2019-04-16
  • 1970-01-01
  • 2018-10-20
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多