Java SqlLite:我们可以选择行作为列吗?
只要有人能提供,我就需要一个快速的帮助。我在名为Java SqlLite:我们可以选择行作为列吗?,java,sqlite,pivot,Java,Sqlite,Pivot,只要有人能提供,我就需要一个快速的帮助。我在名为Products的表中有一个列Product\u name,该列具有唯一的值 我要做的是选择此表的每一行作为列,然后对于此结果查询的每一行,如果它们在名为Transactiondetails的表中存在具有特定事务id的记录,该表包含表Transactions中的外键,则调出数量 表transactiondetails旨在使数据库的结构成为第三种标准形式。例如,对于一个特定的交易id,产品的数量及其数量都在具有该特定交易id的表transaction
Products
的表中有一个列Product\u name
,该列具有唯一的值
我要做的是选择此表的每一行作为列,然后对于此结果查询的每一行,如果它们在名为Transactiondetails
的表中存在具有特定事务id的记录,该表包含表Transactions
中的外键,则调出数量
表transactiondetails
旨在使数据库的结构成为第三种标准形式。例如,对于一个特定的交易id,产品的数量及其数量都在具有该特定交易id的表transactiondetails
中的单独行中
现在,例如,如果我有两个产品名为producta
和productb
(这意味着表products
中有两行),那么结果查询应该如下所示
transaction_id | product A | product B
1 | 5 | 10
交易| id |产品A |产品B
1 | 5 | 10
我希望我能让人理解
任何帮助都将不胜感激。在SQL中,“行”和“列”的名称并不指可视化表示(请考虑“记录”和“属性”),因此这是不可能的,至少在SQLite中是不可能的
若您想在“列”中显示数据,那个么您必须在表示层而不是数据层中进行显示。然后将有垂直的“行”(“记录”)和水平的“列”(“属性”)。SQLite没有透视函数;这是不可能的。我相信您可以使用CASE…END
construct实现非常有限(已知产品的固定数量)的交叉表功能。relational model
不是专门处理行和列吗?还是我误解了你的话?是的,是的。我的意思是,行不是被定义为“水平的东西”,而是“具有属性的实体”,对于列也是如此。那么我更喜欢记录和字段类比,因为列和行在索引、键等方面不是相等的实体。这就是我想说的:)英语不是我的第一语言。