Sql關聯查詢問題,mysql 關聯查詢求助

2023-09-28 19:12:24 字數 1282 閱讀 2278

1樓:網友

沒測試過 應該沒什麼大問題。

select ,,sum(chngrade),sum(enggrade),sum(matgrade) from (

select ,,chngrade,0 enggrade,0 matgrade from a,b

where and '語文'

unionselect ,,0,,0 from a,bwhere and '數學'

unionselect ,,0,0, from a,bwhere and '英語') c

group by ,

2樓:網友

select ,sum( case when subject = 語文' then grade else 0) "語文"

sum(case when subject = 數學' then grade else 0) "數學"

from b,a a

where =

我寫的可以顯示 語文和數學。

你把英語按照格式寫進去試試吧。

3樓:網友

除了2樓,其他人都連題目都沒看清楚。

那麼容易樓主需要上來問嗎。

mysql 關聯查詢求助

4樓:網友

這個問題的難點在於如何找出b表中每個關聯欄位組中的第一條記錄,對於mysql我們可以利用自增id(auto_increment)的特性予以解決。

因為mysql不支援rownumber()這類開窗函式(access可以利用first函式),如果b表裡沒有自增id的話,建議先建立乙個與b表結構相同的表,同時添補乙個自增id欄位,然後將b表中的記錄全部追加到這個新錶裡,跟著我們就可以利用這個自增id欄位來解決問題了。

下面是利用自增id特性的解決方案。

假設a,b表的關聯欄位名為(r_id ),b表裡有乙個自增id欄位(id)

select a.*,t2.* from a,select * from b,select min(id) as f_id from b group by r_id)t

wherewhere

如果不想輸出所有的欄位,a.*,t2.*換成相應的具體欄位即可。

上面的**也可以使用inner join連線,但是經驗告訴我其執行效率不如上面的寫法高(不指定連線型別的等同連線)

mysql不利用自增id的方法暫時未能找到。

5樓:回家收玉公尺棒子

group by 利用a表的主鍵分組就可以了。

SQL關聯查詢問題

select id,date,number,price 所要查詢的資料 from t1 where number in select number number查詢條件,按number分組 from t1 group by number and date in select max date 查詢按...

mysql 正則查詢問題

mysql正規表示式問題 頭 尾 abc123 abc123 中任意字元 前面的字元出現n次 前面的字元至少出現n次。如果沒有 或 任何位置匹配有可以。正則預設是貪婪的,最小匹配需要用 你給出的例子結果都對的。mysql正則匹配問題 匹配2014年06月10日 00時00分01秒至2014年7月10...

sql查詢問題

你這問題好模糊,連表欄位都沒有給出,給你大概寫下,select 訪問人 from 表 where convert varchar 7 日期欄位,120 2014 04 有問題再追問吧 select convert varchar 7 date,23 as date,count from testip...