Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/55.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 如何形成正确的SQL语句?_Mysql_Sql - Fatal编程技术网

Mysql 如何形成正确的SQL语句?

Mysql 如何形成正确的SQL语句?,mysql,sql,Mysql,Sql,我想从表a中选择并找到一个值,这取决于表B中的某个值。我如何实现这一点 Select Ax from TableA where TableA.Ay = (Select Bx from TableB where TableB.By = L AND TableB.Bz = M ) 您可以尝试使用联接

我想从表a中选择并找到一个值,这取决于表B中的某个值。我如何实现这一点

Select 
    Ax 
from 
    TableA 
where TableA.Ay = (Select 
                       Bx 
                   from 
                        TableB 
                   where TableB.By = L AND TableB.Bz = M )

您可以尝试使用联接

Select TableA.Ax 
from TableA 
INNER JOIN TableB ON  TableA.Ay =  TableB.Bx
    AND TableB.By = L 
        AND TableB.Bz = M

您可以尝试使用联接

Select TableA.Ax 
from TableA 
INNER JOIN TableB ON  TableA.Ay =  TableB.Bx
    AND TableB.By = L 
        AND TableB.Bz = M
看起来不错 唯一的问题是,当您不确定Bx是否只提供一行作为结果时

Select 
    Ax 
from 
    TableA a
where a.Ay IN (Select 
                       Bx 
                   from 
                        TableB b
                   where b.By = L AND b.Bz = M )
或者必须将表b的返回限制为1行,限制为1

此外,使用别名也很有帮助,以便更好地阅读和减少键入

看起来还可以 唯一的问题是,当您不确定Bx是否只提供一行作为结果时

Select 
    Ax 
from 
    TableA a
where a.Ay IN (Select 
                       Bx 
                   from 
                        TableB b
                   where b.By = L AND b.Bz = M )
或者必须将表b的返回限制为1行,限制为1


此外,使用别名有助于更好地阅读和减少键入

tablea和tableb之间的关系是什么?父-子,其中tablea为父,tableb为子。nbk和scaisEdge提供的解决方案都有效。提供样本数据、预期结果,并解释您的问题在数据方面的真正含义。表a和表B之间的关系是什么?父-子,其中表a为父,表B为子。nbk和scaisEdge提供的解决方案都有效。提供样本数据、期望结果,并解释您的问题在数据方面的真正含义。