SQL 查询以将用户定义的字段连接成一行
SQL Query to get User Defined Fields joined into one row
亲爱的天才们,
我有一个 供应商 table,和一个 UDF(用户定义函数)table。我需要查询来自 vendor table 的一些数据以及来自 UDF table 的数据。现在,每个 vendor_id 将有多个 UDF 结果。 (vendor_id 和 ud_join 是 table 之间的链接)。
供应商Table
| vendor_id | vendor_name | vendor_address | vendor_status |
-----------------------------------------------------------------
| 1234 | ABC Company | 123 Fourth St. | Active |
UDFTable
| udjoin | udtype | udindex | udvalue |
-----------------------------------------------
| 1234 | VN | 36 | Data36 |
-----------------------------------------------
| 1234 | VN | 53 | Data53 |
-----------------------------------------------
| 1234 | VN | 67 | Data67 |
我想查询“1234”的vendor_id,返回结果为:
| vendor_id | vendor_name | vendor_address | vendor_status | udf_36 | udf_53 | udf_67 |
--------------------------------------------------------------------------------------------------
| 1234 | ABC Company | 123 Fourth St. | Active | Data36 | Data53 | Data67 |
希望这可以通过基本查询完成。
预先感谢您的所有帮助。
您可能想要调查 PIVOT 操作;它的可用性和精确语义取决于您使用的 RDBMS。以下是一些帮助您入门的有用链接:
- SQL 服务器:https://technet.microsoft.com/en-us/library/ms177410%28v=sql.105%29.aspx
- 甲骨文:http://www.oracle.com/technetwork/articles/sql/11g-pivot-097235.html
如果您在 Whosebug 档案中搜索 "SQL Pivot",您会发现许多相关问题。
您需要转置数据,使用 SQL 中的 PIVOT 功能。请参考
https://www.simple-talk.com/blogs/2007/09/14/pivots-with-dynamic-columns-in-sql-server-2005/
希望这会有所帮助
亲爱的天才们,
我有一个 供应商 table,和一个 UDF(用户定义函数)table。我需要查询来自 vendor table 的一些数据以及来自 UDF table 的数据。现在,每个 vendor_id 将有多个 UDF 结果。 (vendor_id 和 ud_join 是 table 之间的链接)。
供应商Table
| vendor_id | vendor_name | vendor_address | vendor_status |
-----------------------------------------------------------------
| 1234 | ABC Company | 123 Fourth St. | Active |
UDFTable
| udjoin | udtype | udindex | udvalue |
-----------------------------------------------
| 1234 | VN | 36 | Data36 |
-----------------------------------------------
| 1234 | VN | 53 | Data53 |
-----------------------------------------------
| 1234 | VN | 67 | Data67 |
我想查询“1234”的vendor_id,返回结果为:
| vendor_id | vendor_name | vendor_address | vendor_status | udf_36 | udf_53 | udf_67 |
--------------------------------------------------------------------------------------------------
| 1234 | ABC Company | 123 Fourth St. | Active | Data36 | Data53 | Data67 |
希望这可以通过基本查询完成。
预先感谢您的所有帮助。
您可能想要调查 PIVOT 操作;它的可用性和精确语义取决于您使用的 RDBMS。以下是一些帮助您入门的有用链接:
- SQL 服务器:https://technet.microsoft.com/en-us/library/ms177410%28v=sql.105%29.aspx
- 甲骨文:http://www.oracle.com/technetwork/articles/sql/11g-pivot-097235.html
如果您在 Whosebug 档案中搜索 "SQL Pivot",您会发现许多相关问题。
您需要转置数据,使用 SQL 中的 PIVOT 功能。请参考
https://www.simple-talk.com/blogs/2007/09/14/pivots-with-dynamic-columns-in-sql-server-2005/
希望这会有所帮助