您好,我正在写一个查询,以获取有关作者,标题,类别和媒体的信息。然而,由于项目可以是许多媒体和类别,我得到的结果在列中显示为重复的。我如何才能得到结果,这样我就不会把媒介看作是书,还有恐怖,幻想,虚构的类别。我假设我需要一些子查询-如果是的话,我该怎么做呢?
SELECT book.bookid, book.author, book.title, group_concat(category.categorydesc), group_concat(medium.mediumdesc)
FROM book
Inner JOIN bookscategories ON book.bookid = bo
你好,堆栈溢出社区:),
我有一个复杂的联接查询,给我带来了很多麻烦:/
我这儿有三张桌子。
1:表分类t
id ownerId type
1 1 office
2 1 inventory
3 1 inventory_item
2:表tax_links l
id parent son
1 1 2
2 1 3
3:表设置
id taxId title value type
1 1 name office1 taxonomy
2 1 location A
我有三个主要的表:books,authors,publishers和两个连接表:authors_on_books和books_on_publishers。
我正在尝试使用以下查询获取所有数据:
select books.*,
GROUP_CONCAT(authors.id) as author_id, GROUP_CONCAT(authors.name) as author_name,
GROUP_CONCAT(publishers.id) as publisher_id, GROUP_CONCAT(publishers.name) as publisher_
我有两张这样的桌子:
表a:
ID type
1 1
1 1
2 1
2 2
2 2
3 2
表b:
ID name
1 a
2 b
3 b
和预期结果:
ID type name
1,2 1 a,b
2,3 2 b,b
我试过:
SELECT GROUP_CONCAT(DISTINCT ID), a.type,
GROUP_CONCAT(SELECT name FROM b WHERE ID = a.ID)
FROM a GROUP BY a.type
但这不管用。我需要的名字是GROUP_CONCAT和不
我有以下列(它是动态的,具有相同ID的表中更多的行).Type可以复制。
+--------------+---------+------------
| ID | TYPE | VALUE |
+--------------+---------+------------
| 1 | A | one |
| 1 | B | gas |
| 1 | C | age |
| 1 | D | two
我有一个查询(其中的两个表有点复杂,所以我不想用GROUP_CONCAT来描述它们--我将以最简单的方式来描述它们),但是我在输出行中重复了我不想要的值。
以下是查询:
SELECT
GROUP_CONCAT(mr.nazwa SEPARATOR ', ')
FROM
mp06_logos.milkruny AS mr
JOIN
mp06_logos.milkruny_firmy AS mrf
ON mrf.id_milkrun = mr.id
WHERE
mr.status = 1
AND mrf.id_firmy_zaladu
这是我的SQL操作:
select `id_ifc_espaces`,GROUP_CONCAT(DISTINCT `nom_espace`) as nom_espace ,GROUP_CONCAT(DISTINCT `fonction_espace`) as fonction_espace, GROUP_CONCAT(DISTINCT `id_ouvrage_slab_wall`) as id_ouvrage_slab_wall , GROUP_CONCAT(DISTINCT `type_limit`) as type_limit,GROUP_CONCAT(DISTINCT `type_o
我今天遇到了一个问题。我有一个有硬币价值的表:
0.01
0.01
0.01
0.05
0.10
0.25
1.00
1.00
2.00
and so on...
所以主要的想法是一次得到所有的值,比如0.01,0.05,等等。
所以我这么做了:
SELECT Valeur FROM Mint_Coins GROUP BY Valeur
现在,它将为每个值提供一行...我希望所有的值都在一行中,所以我使用下面的代码:
SELECT GROUP_CONCAT(',', Valeur) AS Values FROM Mint_Coins GROUP BY Valeur
它又给了我7
此代码中的group_concat(case() )语句有问题。生成的记录将dm名称和salesrep名称复制为逗号分隔的长字符串。我如何才能改变这一点,以在每个单元格中获得一个不同的结果? current results example select
o.ro_number,
go.Rop_Product_Used_Fk,
go.Rop_Product_Billed_Fk,
go.Rop_Ar_Serial_Number_Fk,
o.Rop_Start_Bill_Timestamp,
o.Rop_Stop_Bill_Timestamp,
b.Customer_Billto_Name,
b
我试图从多个表中获取数据,这些表包含来自不同表的用户的各种详细信息。问题是,当连接它时,会显示重复的值
ID NAME DOB GENDER CITY RELATIONSHIP_STATUS ABOUT_ME PROFILE_PIC_PATH EMPLOYEER JOB EMP_START EMP_END EMP_VISIBILITY SCHOOL MAJOR EDU_START EDU_END EDU_VISIBILITY IM_ON_SITE IM_IM IM_VISIBILITY ADDRESS STATE CONTRY
我试图从3个不同的表中返回数据,其中2个是左联接。所有表都返回多行。以下是我的发言:
SELECT s.*, GROUP_CONCAT(sp.photo) AS photos, GROUP_CONCAT(st.name) AS tags
FROM sites s
LEFT JOIN sites_photos sp
ON sp.sites_id = s.id
LEFT JOIN sites_tags st
ON st.sites_id = s.id
WHERE s.id = 30
此语句返回的数据如下所示:
Array
(
[id] => 30
[url] => www.test.b
我的sql请求有一些问题,当我比较这两个GROUP_CONTACT时,结果似乎是相反的。我尝试将order语句放入group_concat中,但没有成功。 如何在没有DISTINCT语句的GROUP_CONCAT和有DISTINCT语句的GROUP_CONCAT之间得到相同的结果。 SELECT GROUP_CONCAT(a.artiste_nom SEPARATOR '|') as 'std', GROUP_CONCAT(DISTINCT a.artiste_nom SEPARATOR '|') as 'std1'
FROM
我正在尝试显示数据库中不同表中的一些信息。其中一个表名为job_pieces。此表中有ID、CompanyID和PieceType字段。每个公司可以有多个ID和PieceTypes。我不知道每家公司有多少个PieceTypes。这只是一个小例子,但有些公司有近30个PieceTypes。下面是一个示例数据库:
SELECT c.Name,
COUNT(distinct jn.ID) as Jobs
GROUP_CONCAT(DISTINCT jp.PieceType) as AllPieceTypes,
jp.PieceType as Piec
我有一个表,其中每一行都有一个"group_id“列。我希望得到该组中所有行的“压缩”输出,作为一行(或者更简洁的任何一种结构--它看起来如何并不重要)。此行仅供应用使用,不会保存在数据库中。因为表很大,所以我一个人计算会很贵。我愿意预先计算这个值并缓存它。我不打算在那之后快速计算。
在“压缩”表示中,我不关心哪个值属于哪个键。我只想预先获得给定group_id的所有选项。
例如,我的表的一个子集如下所示:
primary_key, group_id, column_a, column_b, column_c
key1, g1, a, b, c
key2, g1, a, b_1, c
我有一个连接4个表的查询。表是用户,user_info,电子邮件和电话。用户可以拥有一个或多个电话和电子邮件。
下面是sql查询:
SELECT ur.login_id as loginId, ue.user_email_address as email, up.phone_number as phone
FROM greydeltadb.gd_user ur
LEFT JOIN greydeltadb.gd_user_info uri ON uri.user_id=ur.user_id
INNER JOIN greydeltadb.gd_user_e
当执行这个查询时,我希望te得到2个移动枚举号码和1个类别,但我得到了2个类别,我做错了什么?我想这和我加入事物的方式有关吧?
用户,可以有多个imei,类别连接将用户链接到多个类别
SELECT
u.*,
group_concat(i.mobilenumber) as mobilenumbers,
group_concat(c.name) as categories
FROM
users AS u
INNER JOIN
categoryjoin AS cj
ON
u.uid = cj.user_id
INNER JOIN
我有一个主桌(m)在MySQL和两个辅助设备(a,b)。
我有一个疑问:
SELECT *,group_concat(a.name_auxone) as namesone
FROM main m
LEFT JOIN auxiliaryone a ON m.id_main=a.id_main_auxone
WHERE m.id_main=1
..。在使用php $row[]创建之后,它将显示:
$row['namesone']-->name1,name2,name3
这是好的(我有3个寄存器在辅助性关联到id_main=1)。但是如果我想将另一个辅助表(
我正试着加入两个多到多的联想。在这个例子中,每个团队都有一个不确定的颜色和一个未确定的数字获奖。
这是一个模式:
这是我使用的查询:
SELECT
teams.name AS name,
GROUP_CONCAT(colours.name) AS colours,
GROUP_CONCAT(awards.name) AS awards
FROM
teams
-- join colours
INNER JOIN teams_to_colours
ON teams.id = teams_to_colours.team_id
INNER
假设我们有一张这样的桌子
property1 property2 property3
21 a car
354 d car
76 c basket
12 a tape
是否可以运行一个不带UNION的数据返回这样的查询。
property1 has values: 21, 354, 761, 12
property2 has values: a, d, c
property3 has values: car, bask
我想知道是否可以将不同的值选择到一个结果记录中(只有一列),并将这些值格式化为逗号分隔的列表?
例如:
SELECT
DISTINCT(lang) as language
FROM
countries
这会产生一个结果集,其中包含许多行==不同语言的数量。但是,是否可以将这些值列在一条记录中,格式为逗号分隔的列表?
我有一个查询,它从某个表中返回文件及其标记和子类别,我希望获得带有特殊标记id的文件。
SELECT file.id,file.title,content,comments,likes,visit,
group_concat(distinct sub_category_name ) as subCategoryName,
group_concat(distinct sub_category.id ) as subCatId,
GROUP_CONCAT(distinct tag
查询:
SELECT MemberId, a.MemberName, GROUP_CONCAT(FruitName) FROM a LEFT JOIN b ON
a.MemberName = b.MemberName GROUP BY a.MemberName
表a
MemberID MemberName
-------------- ----------
1 Al
1 Al
3 A2
如果字符串属于一个组,则需要查询哪些连接字符串。
SELECT e.id,
ke.value,
re.value AS re_value,
GROUP_CONCAT(g.value,', ')
FROM entry e
INNER JOIN k_ele ke ON e.id = ke.fk
INNER JOIN r_ele re ON e.id = re.fk
INNER JOIN sense s ON e.i
我有一个包含id和location列的表。该表包含正在被pinged的位置数据,我希望得到包含id的输出,id在其中显示的不同位置的数量,以及id去过的位置的列表。 这就是我正在尝试的- select prim.id, count(distinct(location)),
(select location
from dbo.Events_compiled
where id = prim.id)
from dbo.Events_compiled as prim
group by prim.id
order by count(distinct(location)) desc;
我正在尝试做一个mysql查询,这个查询是GROUP_CONCAT表‘shop_preview’中的所有字符串。但是,当运行以下查询时,它会根据"timesBought“的数量重复该查询。
select
`shop_items`.*,
group_concat(shop_previews.image) as images,
count(`shop_histories`.`shopId`) as `timesBought`
from `shop_items`
left join `shop_previews` on `shop_previews`.`s