繁体   English   中英

独特的语句用于一次只返回一个唯一结果mysql

[英]Distinct statement is used to return only one unique result in one time mysql

有三个表:

tbl住宿桌

--------------  -----------------------
fldProductID     fldAccommodationName
--------------  -----------------------

tbl住宿桌

-------------  --------------------  ---------------------
fldProductID   fldAccommodationText  fldAccommodationText1
-------------  --------------------  ---------------------

tbl住宿桌

------------  --------
fldProductID  seo_url
------------  --------

三表联接查询

$sql = "SELECT 
        DISTINCT 
        tblAccommodation.fldProductID,
        tblAccommodationText.fldAccommodationTextTitle,
        seo_url,
        tblAccommodation.fldAccommodationName
    FROM tblAccommodation 
    LEFT JOIN tblAccommodationText 
        ON tblAccommodationText.fldProductID = tblAccommodation.fldProductId
    LEFT JOIN tblProduct
        ON tblProduct.fldProductID = tblAccommodation.fldProductID
    WHERE
        seo_url = 'yacht-4'";

代码结果

------------  -------------------------  -------  --------------------
fldProductID  fldAccommodationTextTitle  seo_url  fldAccommodationName
------------  -------------------------  -------  --------------------
6                 Dolphin Villas         yacht-4     yacht 4 upper cabin
6                 Aqua Suite             yacht-4     Aqua Suite with Pool
6                 Dolphin Villas         yacht-4     yacht 4 upper cabin
6                 Aqua Suite             yacht-4     Aqua Suite with Pool

为什么重复两次相同的值,请帮助我

您可以使用GROUP BY

SELECT tblAccommodation.fldProductID,fldAccommodationText1,tblAccommodationText.fldAccommodationTextTitle,seo_url,tblAccommodation.fldAccommodationName 
    FROM tblAccommodation 
        LEFT JOIN tblAccommodationText ON tblAccommodationText.fldProductID = tblAccommodation.fldProductID 
        LEFT JOIN tblProduct ON tblProduct.fldProductID = tblAccommodation.fldProductID 
        WHERE seo_url='yacht-4' 
    GROUP by tblAccommodationText.fldAccommodationTextTitle

代码首先工作,我删除了不同的功能,然后按功能分组....

correct query is

$sql = "SELECT tblAccommodation.fldProductID,fldAccommodationText1,tblAccommodationText.fldAccommodationTextTitle,seo_url,tblAccommodation.fldAccommodationName FROM tblAccommodation LEFT JOIN tblAccommodationText ON tblAccommodationText.fldProductID = tblAccommodation.fldProductID LEFT JOIN tblProduct ON tblProduct.fldProductID = tblAccommodation.fldProductID where seo_url='yacht-4' GROUP by tblAccommodationText.fldAccommodationTextTitle"

tbl住宿桌

--------------  -----------------------
fldProductID     fldAccommodationName
--------------  -----------------------
 6                yacht 4 upper cabin
 6                Aqua Suite with Pool

tblAccommodationText表

--------------  --------------------- ------------------------ 
fldProductID     fldAccommodationText  fldAccommodationText1
--------------  ---------------------  ------------------------
 6                Dolphin Villas        king sized bed overlooking the ocean...
 6                Aqua Suite            sundeck with lagoon access where you...

tbl产品表

--------------  --------
fldProductID     seo_url 
--------------  --------
 6               yacht-4 
 6               yacht-4

预期表

------------           ----------------------------    --------------------  --------
fldProductID          fldAccommodationText1            fldAccommodationText  seo_url 
------------          -----------------------------    --------------------  --------
6             king sized bed overlooking the ocean...     Dolphin Villas      yacht-4
6             sundeck with lagoon access where you...    Aqua Suite           yacht-4

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM