简体   繁体   English

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

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

There are three tables: 有三个表:

tblAccommodation table tbl住宿桌

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

tblAccommodation table tbl住宿桌

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

tblAccommodation table tbl住宿桌

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

three table join query with distinct 三表联接查询

$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'";

code result 代码结果

------------  -------------------------  -------  --------------------
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

why repeat same value twice please help me 为什么重复两次相同的值,请帮助我

You can use the GROUP BY 您可以使用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

code is work firstly i remove distinct and add after group by function .... 代码首先工作,我删除了不同的功能,然后按功能分组....

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"

tblAccommodation table tbl住宿桌

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

tblAccommodationText table tblAccommodationText表

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

tblProduct table tbl产品表

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

expected table 预期表

------------           ----------------------------    --------------------  --------
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