swift 之处理本地数据库

感觉自己都已经转为数据库开发了,最近的项目主要是操作本地数据库,一个app有一百多张表,一会join 一会 left join

1 :五个表 scan ,result , intrument ,model, vender 表

现在想要查到 result表里面的 rfid ,model表里面的name, vender表里面的name
sql 语句(swift)

let sql = String(format:
                        " select RFIDScanSessionResult.Id," +
                            " RFIDScanSessionResult.rfid," +
                            " Instrument.building," +
                            " Instrument.room," +
                            " Instrument.customerDefineType," +
                            " Site.city," +
                            " vendorModelName," +
                            " standardizedName " +
                            " from ((select *from RFIDScanSessionResult" +
                            " left join RFIDScanSession on RFIDScanSessionResult.sessionId= RFIDScanSession.Id " +
                            " WHERE RFIDScanSessionResult.isHidden = 0 " +
                            " GROUP BY room,Site,building,RFIDScanSessionResult.rfid) as RFIDScanSessionResult " +
                            " left join Instrument on RFIDScanSessionResult.rfid = Instrument.rfidTag " +
                            " left join Model on Instrument.model = Model.Id " +
                            " left join Vendor on Model.vendor = Vendor.Id " +
                            " left join Site on Instrument.site = Site.Id) " +
                            " WHERE RFIDScanSessionResult.isHidden = 0 and " +
                            " (Instrument.isHidden = 0 or Instrument.isHidden is NULL) " +
                        " GROUP BY rfid having count(rfid) > 1 ");

2、 RFIDScanSessionResult表根据RFIDScanSessionResult.sessionId=RFIDScanSession.Id关联表RFIDScanSession 然后根据关联后的表根据RFIDScanSession.site= site.id关联表site,然后根据RFIDScanSessionResult.rfid = '%@' 查找关联后的数据

let sql = String(format:
                    " select %@,%@,%@,%@,%@ " +
                    " from RFIDScanSessionResult " +
                    " Join RFIDScanSession on " +
                    "           RFIDScanSessionResult.sessionId = RFIDScanSession.Id " +
                    " JOIN Site on RFIDScanSession.site = site.id " +
                    " WHERE RFIDScanSessionResult.rfid = '%@' And RFIDScanSessionResult.isHidden = 0" , RFIDScanSessionResult.propertyNameSesssionId,                                                                                                                                                     RFIDScanSession.propertyNameBuilding,                                                                                                                                                                                                                                   RFIDScanSession.propertyNameRoom,Site.propertyNameCity,                                                   RFIDScanSessionResult.propertyNameLastSeen,
                                                              rfid);
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 转载,觉得这篇写 SQLAlchemy Core,写得非常不错。不过后续他没写SQLAlchemy ORM... ...
    非梦nj阅读 5,499评论 1 14
  • 转 # https://www.cnblogs.com/easypass/archive/2010/12/ 08/...
    吕品㗊阅读 9,824评论 0 44
  • 转至元数据结尾创建: 董潇伟,最新修改于: 十二月 23, 2016 转至元数据起始第一章:isa和Class一....
    40c0490e5268阅读 1,789评论 0 9
  • 38节,一堆女人出来晃。 假装自己很兴奋,无论是车上的幽默发言,还是照片里疯子样的形象。 我以为我很快乐。 当自己...
    一一天阅读 269评论 0 0
  • 年底就下载了简书,一直想写点东西,懒癌发作,拖延症作祟,思想先走、行动停留!还有个原因是想把简书写作的处女秀...
    Eleven_Baby阅读 160评论 2 2