需要帮助构建MySQL查询-动态数据

我们有一个遗留表Prop,根据符号的不同,它value会告诉您要引用PropLong还是PropShort表。要清楚是否Prop.value > 0看向PropShort其他人PropLong

现在,我想基于最终值构建一个动态查询。我不确定该怎么做。我已经有一个查询(也可以对此发表评论),它将把最终值拉回(str_value但我不知道如何修改它,以便我可以进一步扩展)str_value

SELECT *, 
   IFNULL(PropShort.str, PropLong.str) AS str_value FROM Prop 
   LEFT JOIN PropShort ON sid=Prop.value 
   LEFT JOIN PropLong ON lid=-Prop.value

现在WHERE PropShort.str=%s OR PropLong.str=%s从哪里来?我对OR'ing多个查询特别感兴趣(例如WHERE PropShort.str=%s OR PropLong.str=%s OR behavior="foo"

表定义

CREATE TABLE `Prop` (
  `propId` int(10) unsigned NOT NULL,
  `value` int(11) NOT NULL,
  `behavior` varbinary(255) NOT NULL,
  KEY `propId` (`propId`),
) ENGINE=InnoDB;

CREATE TABLE `PropLong` (
  `lid` int(10) unsigned NOT NULL AUTO_INCREMENT,
  `str` blob NOT NULL,
  PRIMARY KEY (`lid`)
) ENGINE=InnoDB;

CREATE TABLE `PropShort` (
  `sid` int(10) unsigned NOT NULL AUTO_INCREMENT,
  `str` varbinary(255) NOT NULL,
  PRIMARY KEY (`sid`)
) ENGINE=InnoDB;
浅褐色的

这取决于...但可能会

SELECT *, 
      IFNULL(PropShort.str, PropLong.str) AS str_value 
   FROM 
      Prop 
         LEFT JOIN PropShort 
            ON sid=Prop.value 
            AND PropShort.str=%s 
         LEFT JOIN PropLong 
            ON lid=-Prop.value
           AND PropLong.str=%s

现在,这仍将使您的“ Prop”表成为主要表,但仅基于它们各自的条件而联接到各自的其他表。因此,您可以通过ID设置PropShort,但不匹配.str,但可以通过ID匹配有效的PropLONG,并使用正确的.str来获取所需的内容。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

MySQL入门,需要帮助来构建数据库

来自分类Dev

构建动态查询以将数据插入表

来自分类Dev

需要帮助从数据示例创建SQL查询

来自分类Dev

需要在MySQL 5.7.30中使用动态生成的OR参数值构建查询

来自分类Dev

需要帮助的Mysql查询

来自分类Dev

需要帮助来构建Cloud Datastore数据对象

来自分类Dev

从SQL表查询动态数据

来自分类Dev

动态数据透视查询错误

来自分类Dev

动态构建PHP PDO MySQL查询

来自分类Dev

MySQL动态数据透视表

来自分类Dev

需要帮助来优化查询中的处理数据

来自分类Dev

需要帮助使用php查询数据库

来自分类Dev

需要帮助使用以下数据创建查询

来自分类Dev

需要 Laravel 5 数据库查询帮助

来自分类Dev

Excel帮助:动态范围+数据验证

来自分类Dev

需要MySQL查询优化帮助

来自分类Dev

需要帮助构建查询laravel 5.2

来自分类Dev

需要帮助来构建 linq 查询

来自分类Dev

需要帮助使用 activedataprovider 构建查询

来自分类Dev

动态构建多维数据集连接

来自分类Dev

构建从 API 提供的动态表单数据

来自分类Dev

需要帮助,使用Mulesoft中的dataweaver为数组中的子项组构建标题(动态)

来自分类Dev

使用Chart.js从MySQL查询获得动态数据集

来自分类Dev

设置每部分具有动态数据集的mysql查询

来自分类Dev

创建MYSQL数据库表?需要帮助修订

来自分类Dev

创建MYSQL数据库表?需要帮助修订

来自分类Dev

需要帮助比较2个不同mysql表中的数据

来自分类Dev

使用PostgreSQL 9.3的动态数据透视查询

来自分类Dev

带条件的动态数据透视表查询