我使用select VendorShortName,BasePrice,convert(varchar, ModifiedDate,101) as date from prices where barcode='8712566383849'
现在生成图表,我需要下面截图的数据。
任何人都可以帮助我吗?
答案 0 :(得分:1)
根据数据库的类型,seekbar2 = (RangeSeekBar) findViewById(R.id.seekbar2);
seekbar2.setRange(1000.0f, 5000.0f);
seekbar2.setOnRangeChangedListener(new RangeSeekBar.OnRangeChangedListener() {
@Override
public void onRangeChanged(RangeSeekBar view, float min, float max, boolean isFromUser) {
seekbar2.setLeftProgressDescription((int) min + "");
seekbar2.setRightProgressDescription((int) max + "");
}
});
是您在这些情况下使用的内容。您需要知道V1,V2等的值或执行动态SQL。
传统上,这种操作是在客户端(图形)方面完成的,而不是在数据库上完成,因为正如您所发现的那样,转换后的数据不适合关系模型。
答案 1 :(得分:1)
您可以使用PIVOT轻松完成此操作。以下是您将如何实现这一目标的示例。 Firt Image将向您展示简单的PIVOT查询以及您如何实现这一目标。
第二张图片将显示动态查询生成 - 根据您生成动态列所需的图像,这可能更有用 所以请参考第二张图片。
基于我在下面创建的查询片段 - 看看它是否对您有所帮助。
DECLARE @DynamicPivotQuery AS NVARCHAR(MAX)
DECLARE @ColumnName AS NVARCHAR(MAX)
--Get distinct values of the PIVOT Column
SELECT @ColumnName= ISNULL(@ColumnName + ',','')
+ QUOTENAME(vendorshortname)
FROM (select distinct vendorshortname from Prices) AS Prices
--Prepare the PIVOT query using the dynamic
SET @DynamicPivotQuery =
N'SELECT ModifiedDate, ' + @ColumnName + '
FROM (select VendorShortName,BasePrice,ModifiedDate from prices where barcode=''8712566383849'') As SourceTable
PIVOT
(avg(BasePrice)
FOR VendorShortName IN (' + @ColumnName + ')) AS PVTTable'
--Execute the Dynamic Pivot Query
EXEC sp_executesql @DynamicPivotQuery