mysql - 需要 SQL 语句帮助

标签 mysql sql

我有 2 个表,其中 1 个称为 SourceProperties。另一个称为属性。

一个源可以有很多属性。

SourceProperties 包含以下属性或列(SourceID、PropertyID、Value)。 属性包含以下属性或列(PropertyID、PropertyType、PropertyName)。

例如,

Select * from SourceProperties where SourceID=1

将返回以下内容

1     33     www.google.com/,...m,sand
1     34     true
1     35     Journal
1     77     false

此外,

Select * from Properties where PropertyID=34

将返回:

34 bit IpAuthenticated

Select * from Properties where PropertyID=77

将返回:

77 bit ContainsBooks

我的问题是,如果我需要为某个 SourceID 选择所有属性值 所以我可以得到这样的结果

1 wwww.google.com true 期刊 false

我能做什么? 谢谢!

最佳答案

我想这可能就是你要找的

SELECT SourceID, GROUP_CONCAT(Value SEPARATOR ' ')
FROM SourceProperties
WHERE SourceID = 1
GROUP BY SourceID

这将为您提供所有属性,以空格分隔(但不是单独的列)。如果您希望每个属性作为一个单独的列,那将涉及一些非常奇特的动态 SQL,并且会相当困难。

关于mysql - 需要 SQL 语句帮助,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8605426/

相关文章:

php - 获取按天分组的支付现金金额

php - 无法 ECHO PostgreSQL 查询结果 - PHP

python - sqlAlchemy 使用 like 和 max 选择

c# - SQL Server 2008 中的正则表达式

android - 限制从 sqlite 返回的行数

mysql左连接不返回值

php - 如何在单个页面中使用两个自动建议(ajax、PHP、Mysql)

mysql - 臃肿的 UNION ALL 代码 (MYSQL)

C# 方法中使用的变量上的上下文错误

mysql - 这些 SQL 查询之间有什么区别吗?