这个问题更多的是2012年3月回复的问题。由于这是4个月后,我提出了一个新问题。参考:MySQL LEFT JOIN - Values can be NULL

我的SQL语句如下所示:

SELECT cs.case_id, cs.child_firstname, gu.*

FROM tblcases AS cs

LEFT JOIN tblguardians AS gu

ON cs.case_id = gu.case_id AND gu.firstname LIKE '%Craig%'

WHERE cs.child_firstname LIKE '%Sally%'这工作正常:

如果两个值均已设置(按上述示例)。

如果设置了cs.child_firstname并且gu.firstname只是通配符

但是,如果cs.child_firstname只是通配符,并且设置了gu.firstname,那么将返回数据库中的所有行,包括NULL值 - 理想情况下,我不想使用NULL值。

此查询是否可以重写为执行所有操作,或者是否需要有多个查询?

更新

下面的字段是我的表单中的字段,全部使用$ _POST传递并使用PHP进行处理。我希望这给出了一些数据来自何处的指示以及它与数据库表的关系。子元素们的领域在坦布尔人的tblcases和监护人领域。

子元素名字

子元素姓氏

小孩出生日期

守护者名字

监护人姓氏

监护人电话

卫报邮编

更新2

SQL查询现在如下所示:

SELECT

DISTINCT(cs.case_id) AS case_id, CONCAT(cs.child_firstname, ' ', child_surname) AS childname, DATE_FORMAT(child_dob, '%d/%m/%Y') AS child_dob, DATE_FORMAT(created, '%d/%m/%Y') AS created, gu.firstname, gu.surname

FROM

tblcases AS cs

LEFT JOIN tblguardians AS gu

ON cs.case_id = gu.case_id

AND gu.firstname LIKE '%$_POST[parent_firstname]%'

AND gu.surname LIKE '%$_POST[parent_lastname]%'

WHERE

cs.child_firstname LIKE '%$_POST[child_firstname]%'

AND cs.child_surname LIKE '%$_POST[child_surname]%'

AND ('$_POST[child_firstname]' != '' OR gu.firstname IS NOT NULL)

mysql left join 空值_MySQL LEFT JOIN NULL值相关推荐

  1. mysql left join 空值_MYSQL Left Join如何选择NULL值?

    这是一个后续问题,我的最后一个问题有关在MySQL中的表连接 我需要能够从左连接表中选择NULL值. 这是我的加入: table1.id | table1.name | table2.id | tab ...

  2. mysql的join算法_mysql的Join算法-阿里云开发者社区

    实为吾之愚见,望诸君酌之!闻过则喜,与君共勉 测试数据 CREATE TABLE `dept_emp` ( `emp_no` int(11) NOT NULL, `dept_no` char(4) N ...

  3. mysql join图解_MySQL中Join算法实现原理分析[多图]

    在MySQL 中,只有一种 Join 算法,就是大名鼎鼎的 Nested Loop Join,他没有其他很多数据库所提供的 Hash Join,也没有 Sort Merge Join.顾名思义,Nes ...

  4. mysql natural join用法_MySQL NATURAL JOIN

    NATURAL JOIN 也叫自然连接,实际是属于 JOIN 的一种. MySQL NATURAL JOIN 语法如下: ... FROM table1 NATURAL JOIN table2 ... ...

  5. mysql字符串拼接 空值_mysql字符串拼接并设置null值的实例方法

    #字符串拼接 concat(s1,s2); 将表中last_name和first_name中的字符串拼接 select concat(last_name,first_name) as 姓名 from ...

  6. mysql null的作用_MySQL中对于NULL值的理解和使用教程

    NULL值的概念是造成SQL的新手的混淆的普遍原因,他们经常认为NULL是和一个空字符串''的一样的东西.不是这样的!例如,下列语句是完全不同的: ?12mysql>INSERT INTO my ...

  7. mysql数据库过滤空值_mysql必知必会--过 滤 数 据

    使用 WHERE 子句 数据库表一般包含大量的数据,很少需要检索表中所有行.通常只 会根据特定操作或报告的需要提取表数据的子集.只检索所需数据需要 指定搜索条件(search criteria),搜索 ...

  8. ful join关联字段都含null值报错

    今天在测试full join的时候意外发现一个报错 with t1 as (select null as col1,null as col2,null as col3 ) ,t2 as (select ...

  9. oracle和mysql空字符串_Oracle数据库中对null值的排序及mull与空字符串的区别

    order by排序之null值处理方法在对业务数据排序时候,发现有些字段的记录是null值,这时排序便出现了有违我们使用习惯的数据大小顺序问题.在Oracle中规定,在Order by排序时缺省认为 ...

最新文章

  1. Android NDK环境搭建
  2. php 匹配一次,PHP Regex匹配最后一次出现的字符串
  3. IntelliJ IDEA 常用设置
  4. SuperSocket 1.5 Documentation译文 2 ----- 实现你的AppServer和AppSession
  5. PHP源码_运营服务器打包微盘,外汇盘,时间盘
  6. 深度学习:优化方法——momentum、Nesterov Momentum、AdaGrad、Adadelta、RMSprop、Adam
  7. mysql 提交 按钮_表单提交按钮input和button、a的差异
  8. 移动端车牌识别(前端识别、后端识别)的区别分析
  9. 求职互联网数据分析,如何准备行业知识?
  10. Ubuntu配置FTP服务(匿名登录)
  11. tomcat老启动不起来问题
  12. 小米笔记本显示器关闭后无法唤醒曲线解决办法
  13. 利用手机基站获取位置
  14. openwrt定时任务 2021-10-08
  15. java.io.IOException: Server returned HTTP response code: 503 for UR
  16. [洛谷P4118][Ynoi2016]炸脖龙I([洛谷P3934]Nephren Ruq Insania)
  17. 超级玛丽跳 时间的优化
  18. 【立创开源】ESP8266制作的1.44寸TFT显示屏太空人天气时钟(st7735)(增加农历显示)(抄作业)
  19. flex布局文字溢出显示省略号失效的解决方法
  20. 解决 /lib64/libstdc++.so.6: version `GLIBCXX_3.4.20‘ not found (required by 问题

热门文章

  1. threejs(一):初步认识与使用
  2. 被动和主动网络攻击类型
  3. mac redis启动与关闭
  4. java计算机毕业设计简易在线教学系统源码+数据库+系统+lw文档+mybatis+运行部署
  5. Oracle sql中的 分号
  6. 鸿蒙分期同系列,腾讯内容开放平台
  7. Ubuntu中安装KDE桌面
  8. HTML/CSS - 点击按钮跳转到新页面
  9. z2 pro android 8,zuk z2pro成功升级安卓8.0,这是否是最后一次升级?
  10. 运动耳机哪种型号好、口碑最好的运动蓝牙耳机排行榜