SQL中表為A,A表中列有產品編號 名稱 單價 數量 金額,要實現SQL查詢出同產品編號不同單價變動條件如何寫

時間 2021-08-11 17:18:36

1樓:匿名使用者

你這個如果這幾個字段的話,很可能單價1和單價2會串到另乙個位置

給你在sqlserver下寫了乙個

建立表create table a

(產品編號 varchar(3),

名稱 varchar(10),

單價 int,

數量 int,

金額 int)

insert into a values ('001','記事本',12,10,120)

insert into a values ('002','計算機',20,42,840)

insert into a values ('001','記事本',25,33,825)

insert into a values ('002','計算機',13,12,156)

執行查詢

select t.產品編號,t.名稱,max(case when rn=1 then 單價 end) 單價1,max(case when rn=2 then 單價 end) 單價2

from

(select *,row_number() over (partition by 產品編號 order by 名稱) rn from a) t

group by t.產品編號,t.名稱

結果不過這個查詢,可以寫成

select 產品編號,名稱,min(單價) 單價1,max(單價) 單價2

from a

group by 產品編號,名稱

如果需要不串的話,可能需要其他字段輔助,比如主鍵id,或者資訊錄入時間等,總之是乙個能排序的字段

2樓:

估計很難實現,換種思維方式吧

sql查詢商品類別編號為4的商品**比1號中所有商品**都大的商品的編號,名稱,類別號,和**

3樓:匿名使用者

select 編號,名稱,類別號,**

from 商品表 a

where a.類別編號 = 4

and ** > all(select ** from 商品表 b where b.類別編號 = 1)

sql中如何刪除表中重複的記錄,sql中如何刪除一個表中重複的記錄

sql中刪除一個表中的重複記錄可以採用如下步驟 1 把a dist表的記錄用distinct去重,結果放到臨時表中。select distinct into temp from a dist 2 把a dist表的記錄全部刪除。delete from a dist 3 把臨時表中的資料資訊導進到a ...

SQL中update語句新增表中資料時,表名是變數,語句要怎麼寫

使用exec sql語句 例 使用變數拼接sql語句,然後用exec執行declare table varchar 200 declare sql varchar 200 set table aaa set sql select from tableexec sql 例中的變數 table 即傳遞表...

工作表的列標表示為,excel工作表中表示列的字母變成數字了怎麼變回字母來?

初學者之路張老師 第11講 excel工作表的行號與列標 江淮一楠 在excel中,工作表的列標用大寫 a,b,c,d 來表示,行標用 1,2,3,4 來表示a1,b2,c3等。 一般表示為上午和下午兩個階段。excel2010工作表中,行標和列標分別用什麼表示 果兒可兒 頂端字母標號為 列標 左側...