簡體   English   中英

SQL幫助〜GROUP_CONCAT

[英]SQL Help ~ GROUP_CONCAT

我在SQL查詢中合並Group_Concat函數時遇到問題。 我曾嘗試使用PHP解決該問題,但我更希望使用SQL使其正確。 我的代碼在下面,我正在使用最新版本的MYSQL。

SELECT Main.Title, Main.DatePrint, Main.PerformanceDate, Main.Unsure_Sure, Main.Register, Main.notes, 
VenueKey.Venue,AuthorKey.Author, CompanyKey.Company, PrintKey.Printer, SourceKey.Source 
FROM Main INNER JOIN MainVenue
    ON Main.MainID = MainVenue.ID_V
    INNER JOIN VenueKey
    ON MainVenue.VenueID = VenueKey.ID_V_K

    INNER JOIN MainAuthor
    ON Main.MainID = MainAuthor.ID_A
    INNER JOIN AuthorKey
    ON MainAuthor.AuthorID = AuthorKey.ID_A_K

    INNER JOIN MainCompany
    ON Main.MainID = MainCompany.ID_C
    INNER JOIN CompanyKey
    ON MainCompany.CompanyID = CompanyKey.ID_C_K

    INNER JOIN MainPrinter
    ON Main.MainID = MainPrinter.ID_P
    INNER JOIN PrintKey
    ON MainPrinter.PrinterID = PrintKey.ID_P_K

    INNER JOIN MainSource
    ON Main.MainID = MainSource.ID_S
    INNER JOIN SourceKey
    ON MainSource.SourceID = SourceKey.ID_S_K

理想情況下,我想在Author,Venue和Company上使用Group_Concat,但是我一直很難使它工作,而返回一個空值。 請讓我知道我有什么辦法可以解決此問題。

謝謝。

您必須對結果進行分組,以便GROUP_CONCAT可以使用某些內容。 嘗試以下方法:

SELECT
  AuthorKey.Author,
  GROUP_CONCAT(VenueKey.Venue) AS all_venues,
  GROUP_CONCAT(CompanyKey.Company) AS all_companies
...
GROUP BY AuthorKey.Author

以獲取作者列表以及例如場所和公司的串聯列表。

這篇文章解決了我的問題。 我還重新審視了SELECT語句並進行了調整。

MySQL JOIN / GROUP_CONCAT第二個表?

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM