Re: [SQL ] 欄位合併查尋問題

作者: somnolentcat (普小莉)   2014-02-27 17:15:24
雖然不知道你用的是哪種SQL
不過姊姊只會TSQL啦請將就...
以下
select a.品名,數量,備註 from
(
select 品名,count(品名) as 數量
from [表格合併查詢]
where ((DATEDIFF(day, CONVERT(VARCHAR(10), [日期], 110), GETDATE()) = 1) and
CONVERT(VARCHAR(10), 時間, 114) > CONVERT(VARCHAR(10), '15:00:00', 114))
or (((DATEDIFF(day, CONVERT(VARCHAR(10), [日期], 110), GETDATE()) = 0) and
CONVERT(VARCHAR(10), 時間, 114) < CONVERT(VARCHAR(10), '11:00:00', 114)))
GROUP BY 品名) as a inner join
(SELECT 品名,
(
STUFF(
(
SELECT '-' + 備註
FROM [表格合併查詢] T2
WHERE T2.品名 = T1.品名
FOR XML PATH('')
)
, 1, 1, ''
)
) AS 備註
FROM [表格合併查詢] T1
GROUP BY 品名) as b on a.品名 = b.品名
http://somnolentcat.pixnet.net/blog/post/40437643
※ 引述《joedenkidd (優質的藍色射手)》之銘言:
: Dear All
: 資料表內,日期(date_1)與時間(time_1)被分成兩欄存,欄位格式都是text
: date: 20140201
: time: 13:10:11
: 以上是日期時間存的格式
: 表格內容為:
: date time 品名 備註
: 20140226 16:00:00 xx xxx
: 20140226 20:00:00 oo xxxx
: 20140206 23:00:00 oo
: 20140206 23:51:51 tt
: 20140207 06:00:00 xx
: 20140207 08:00:00 88 446
: 希望的結果如下
: 品名 總數 有備註
: xx 2 1
: oo 2 1
: tt 1 0
: 88 1 1
: 我現在遇到一個問題, 我要 查前一天下午三點到今天11點資料,然後計算總數
: select sum(1) from (
: select * from table where (date(date_1)=date(昨天日期) and time_1>'15:00:00')
: union
: select * from table where (date(date_1)=date(今天日期) and time_1<'11:00:00')
: ) as total group by 品名
: 這樣子我只能查出 總數資料
: 但我想加上統計有註備(PS)的,我不知道要如何寫,另外不知道有沒有辦法可以兩個欄位合
: 併查尋
: 麻煩各位如果知道該怎麼做能跟我說
作者: joedenkidd (優質的藍色射手)   2014-03-01 12:47:00
感謝

Links booklink

Contact Us: admin [ a t ] ucptt.com