sql橫排
A. sql怎麼實現查詢出的結果橫排顯示
因記錄數不定,記錄改成欄位數量就不定,沒有確定欄位數,無法作查詢。因為查詢語句必須要欄位列表的。
所以,你的問題不如這樣實現,欄位名就不要重復了,欄位內容橫過來就行了。
這樣:
DECLARE @CD VARCHAR(8000)
SET @CD=''
SELECT @CD=' '+C+' '+D FROM 表A
select C_D=@CD
結果是這樣
C_D
1 2 3 4 5 6
B. SQL 橫排變豎排的問題
給例子遠比你貼代碼快,
SELECT name,
SUM(CASE subject WHEN '語文' THEN Result ELSE 0 END),
SUM(CASE subject WHEN '數學' THEN Result ELSE 0 END),
SUM(CASE subject WHEN '物理' THEN Result ELSE 0 END)
FROM tb
GROUP BY Name
C. sql查詢橫排
靜態的,假設統計類別就只有:伙食費、培訓費兩種
select 姓名,
max(case 統計類別 when '培訓費' then moneys else 0 end) 培訓費,
max(case 統計類別 when '伙食費' then moneys else 0 end) 伙食費
from
(
select 姓名,sum(金額) moneys, 統計類別
from 表1
group by 姓名,統計類別
) tb
group by 姓名
----
動態的,統計類別不固定
declare @sql varchar(8000)
set @sql = 'select 姓名'
select @sql = @sql + ' , max(case 統計類別 when ''' + 統計類別 + ''' then moneys else 0 end) [' + 統計類別 + ']' from (select distinct 統計類別 from 表1) as a
set @sql = @sql + ' from (select 姓名,sum(金額) moneys, 統計類別 from 表1 group by 姓名,統計類別) group by 姓名'
exec(@sql)
D. SQL如何將查詢結果橫排顯示
這只是一個合並語句就搞定了。
select floor,group_contact(roomid,"##") as roomid from tablename group by floor;
用二個##分隔如得到的結果是 1000##1001
如果直接用group_contact(roomid)則是以,號分隔 如1000,1001
輸出時用字元串工具處理下就可以了。
E. 急急急!!! SQL語句如何將豎排的記錄變橫排並且放置在同一單元格內,跪求大神指點,萬分感謝!!!
selectname姓名,col1+''+col2+''+col3參保類型
from(
selectname,'失業保險'ascol1,'醫療保險'ascol2,'工傷保險'ascol3fromtable1
pivot(max(type)fortypein([失業保險],[醫療保險],[工傷保險]))
aspvt)tab
lz試一下,有問題再追問。
F. SQL 單表查詢按欄位分類統計如何橫排顯示
嵌入寫:即簡單,又易懂
select name ,
case type when '白班' then '1' else '' end as dayjob ,
case type when '夜班' then '1' else '' end as nightjob
from work
把上面這句做為整體,嵌入到下面。
select a.name ,count(a.dayjob),count(a.nightjob) from
(
select name ,
case type when '白班' then '1' else '' end as dayjob ,
case type when '夜班' then '1' else '' end as nightjob
from work
) as a group by a.name
括弧裡面就是一個子查詢,這樣就可以達到你的要求。
G. PHP如何把sql資料庫中兩個欄位的值橫排顯示在網頁
<?$dbh = @mysql_connect("localhost:3306","root","9999");@mysql_select_db("ok", $dbh);$q = "SELECT * FROM abc";$rs = mysql_query($q, $dbh);while($row = mysql_fetch_array($rs)) echo "$row[id] $row[name] ";@mysql_close($dbh);?>