Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/62.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mysql 这个条款在哪里模棱两可_Mysql_Sql - Fatal编程技术网

Mysql 这个条款在哪里模棱两可

Mysql 这个条款在哪里模棱两可,mysql,sql,Mysql,Sql,使用dallasfood select estab_id from estab as EST left join inspect as INSP on EST.estab_id = INSP.estab_id where inspdate = '8-3-17' and estab_id = '2473' 试图找到如何修复estab_id的子句不明确结果。我试图找到某个日期的特定机构上返回的冲突,但无法找出其不明确的原因在选择中使用表alis名称,因为这两个表

使用dallasfood

select estab_id 
from estab as EST    
left join inspect as INSP
       on EST.estab_id = INSP.estab_id    
where inspdate = '8-3-17'
  and estab_id = '2473'

试图找到如何修复estab_id的子句不明确结果。我试图找到某个日期的特定机构上返回的冲突,但无法找出其不明确的原因

在选择中使用表alis名称,因为这两个表中都有
estab_id
列,这就是为什么它在查询中显示不明确的原因

select EST.estab_id 
from estab as EST    
left join inspect as INSP
on EST.estab_id = INSP.estab_id    
where inspdate = '8-3-17'
and EST.estab_id = '2473'
您应该限定查询中的所有列,特别是当有多个表时

最好的别名通常是最短的——表名的缩写。此外,您应该使用标准的日期格式,假设您的日期存储为日期

比如说:

select e.estab_id 
from estab e left join 
     inspect i
     on e.estab_id = i.estab_id and i.inspdate = '2017-08-03'
where e.estab_id = 2473;
其他一些注意事项:

  • 我删除了
    2473
    周围的单引号。如果
    estab_id
    确实是一个字符串,则包含单引号。如果它是一个数字,那么这是一个坏主意,因为您正在混合数据类型
  • 我假设
    insupdate
    来自
    inspect
    ,因此它符合
    I
  • left join
    中第二个表上的条件通常位于
    on
    子句中。否则,联接将变为内部联接

最好的做法是(尽管不是必需的)为更新中的
提供一个标识符