gpt4 book ai didi

SQL 左联接表具有不明确的列名

转载 作者:行者123 更新时间:2023-12-05 08:15:08 24 4
gpt4 key购买 nike

我需要在列名不明确的查询中左联接几个表。

ListingCategory_Listings:

ID | ListingCategoryID | ListingID | ..

SiteTree_Live:

ID | ClassName | Title | Content | ..

列表类别:

ID | IconID

文件:

ID | ClassName | Name | Title | Filename | ..

我有一个问题:

SELECT * FROM ListingCategory_Listings 
LEFT JOIN Listing ON ListingCategory_Listings.ListingID = Listing.ID
LEFT JOIN SiteTree_Live ON Listing.ID = SiteTree_Live.ID
LEFT JOIN ListingCategory ON ListingCategory_Listings.ListingCategoryID = ListingCategory.ID
LEFT JOIN File ON ListingCategory.IconID = File.ID

listing和listing category数据都存储在SiteTree_Live表中,返回我的记录时,很明显,标题、ID、Content下返回了Title、ID、Content等不明确的字段。

我需要访问列表标题和列表类别标题以及其他特定信息。如果他们将数据存储在不同的表中,我可以使用 select Listing.Title AS lTitle 但在这种情况下我该如何做类似的事情?

最佳答案

您需要为列起别名并给它们不同的标签。
您应该始终只将需要的字段放入 SELECT 子句中,单独列出每个字段,而不是使用 *
好的做法还要求为每个表指定一个简短的别名。

SELECT L.Title Listing_Title, LC.Title ListingCategory_Title,
... all your other columns ...
FROM ListingCategory_Listings LCL
LEFT JOIN Listing L ON LCL.ListingID = L.ID
LEFT JOIN SiteTree_Live STL ON L.ID = STL.ID
LEFT JOIN ListingCategory LC ON LCL.ListingCategoryID = LC.ID
LEFT JOIN File F ON LC.IconID = F.ID

关于SQL 左联接表具有不明确的列名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12887446/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com