Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/86.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,我得到了一个结果,上面写着全名和设施名。 这里的设施名称包括网球场1、网球场2、壁球场、羽毛球和乒乓球 我现在只想通过网球场进行过滤和演示 我试着添加 其中设施名称我喜欢“%network Court% 但得到的错误是: 您的SQL语法有错误;请查看与MySQL服务器版本对应的手册,以了解第15行“ILIKE”%netsing%”附近要使用的正确语法 SELECT DISTINCT(CONCAT(z.firstname,' ', z.surname)) AS full_name

我得到了一个结果,上面写着全名和设施名。 这里的设施名称包括网球场1、网球场2、壁球场、羽毛球和乒乓球

我现在只想通过网球场进行过滤和演示

我试着添加

其中设施名称我喜欢“%network Court%

但得到的错误是: 您的SQL语法有错误;请查看与MySQL服务器版本对应的手册,以了解第15行“ILIKE”%netsing%”附近要使用的正确语法

    SELECT 
    DISTINCT(CONCAT(z.firstname,' ', z.surname)) AS full_name,
    facilities.name AS facility_name

FROM
    (SELECT members.memid, 
        bookings.facid, 
        members.firstname, 
        members.surname
        FROM Members AS members
        RIGHT JOIN Bookings AS bookings
        ON members.memid =bookings.memid) z
RIGHT JOIN Facilities as facilities
    ON facilities.facid = z.facid
WHERE facility_name LIKE 'Tennis Court%'
以下是该表的链接。


错误:1054-where子句中的未知列“facility_name”。我只是想告诉你。有两个设施名称“网球场1”和“网球场2”

在查询中替换ILIKE TO LIKE,并在distinct之后删除括号,因为distinct不是一个函数

顺便说一句,您的查询在功能上似乎与:

SELECT DISTINCT CONCAT_WS(' ',m.firstname,m.surname) full_name
              , f.name facility_name 
           FROM facilities f
           JOIN bookings b
             ON b.facid = f.facid
           LEFT 
           JOIN members m
             ON m.memid = b.memid
          WHERE f.name LIKE 'Tennis Court%'
如果我错了,请看

非常感谢 我用facid而不是facility_名称

守则如下:

SELECT 
    DISTINCT CONCAT(z.firstname,' ', z.surname) AS full_name,
    facilities.name as facility_name

FROM
    (SELECT members.memid, 
        bookings.facid, 
        members.firstname, 
        members.surname
        FROM Members AS members
        RIGHT JOIN Bookings AS bookings
        ON members.memid =bookings.memid) z
RIGHT JOIN Facilities as facilities
    ON facilities.facid = z.facid

WHERE facilities.facid=0 OR facilities.facid=1

请注意,DISTINCT不是一个函数,并且从来没有人使用右连接。而且,这不是生成该查询的查询error@Strawberry从SELECT members.memid、bookings.facid、members.firstname中选择DISTINCT CONCATz.firstname“”、z.name作为全名、facility.name作为facility\u名称,members.lasname FROM members AS members RIGHT JOIN Bookings AS Bookings ON members.memid z RIGHT JOIN Facilities AS Facilities ON Facilities.facid=z.facid WHERE facility_name类似“网球场%”这给了我一个错误:1054-WHERE子句中的未知列“facility_name”。我只是想告诉你。共有两个设施名称“网球场1”和“网球场2”。如果使用完整值作为筛选器,则使用直接比较=而不是LIKE运算符。其中设施名称='网球场'。请根据Himanshu编辑您的问题。注意。从SELECT members.memid、bookings.facid、members.firstname中选择DISTINCT CONCATz.firstname“”、z.name作为全名、facility.name作为facility\u名称,members.lasname FROM members AS members RIGHT JOIN Bookings AS Bookings ON members.memid z RIGHT JOIN Facilities AS Facilities ON Facilities.facid=z.facid WHERE facility_name类似“网球场%”这给了我一个错误:1054-WHERE子句中的未知列“facility_name”。我只是想告诉你。有两个设施名称“网球场1”和“网球场2”