dsuikgi9199 2012-10-01 10:59
浏览 13
已采纳

SELECT QUERY结构

I have a query I am hoping to shorten.

SELECT date1, date2, date3, date4, date5, date6, date7 FROM dates_db 
WHERE date1 =('$date1') OR date1 =('$date2') OR date1=('$date3') 
OR date1=('$date4') OR date1=('$date5') OR date1=('$date6') 
OR date1=('$date7') OR date2 =('$date1') OR date2 =('$date2') 
OR date2=('$date3') OR date2=('$date4') OR date2=('$date5')
OR date2=('$date6') OR date2=('$date7') OR date3 =('$date1') 
OR date3 =('$date2')OR date3=('$date3') OR date3=('$date4') 
OR date3=('$date5') OR date3=('$date6') OR date3=('$date7')

and so on for date 1-7 .

This query is massive, is there any way of shortening it. This is for a calender type design where it is looking for data entries that are in different days. So if a date matches then it will post it to the calendar.

  • 写回答

4条回答 默认 最新

  • dragon2025 2012-10-01 11:00
    关注

    You can use the IN predicate instead of these OR's like so:

    SELECT date1, date2, date3, date4, date5, date6, date7
    FROM dates_db 
    WHERE date1 IN ('$date1','$date2','$date3','$date4','$date5','$date6','$date7')
      OR  date2 IN ('$date1','$date2','$date3','$date4','$date5','$date6','$date7')
      OR  date3 IN ('$date1','$date2','$date3','$date4','$date5','$date6','$date7')
      ...
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(3条)

报告相同问题?

悬赏问题

  • ¥20 测距传感器数据手册i2c
  • ¥15 RPA正常跑,cmd输入cookies跑不出来
  • ¥15 求帮我调试一下freefem代码
  • ¥15 matlab代码解决,怎么运行
  • ¥15 R语言Rstudio突然无法启动
  • ¥15 关于#matlab#的问题:提取2个图像的变量作为另外一个图像像元的移动量,计算新的位置创建新的图像并提取第二个图像的变量到新的图像
  • ¥15 改算法,照着压缩包里边,参考其他代码封装的格式 写到main函数里
  • ¥15 用windows做服务的同志有吗
  • ¥60 求一个简单的网页(标签-安全|关键词-上传)
  • ¥35 lstm时间序列共享单车预测,loss值优化,参数优化算法