0
我寫嵌入C語言程序與下面的表一個SQL:在A,BSQL排名好幾桌
table index:id, xx
table a:id, year, yy
table b:id, year, zz
table c:id, year, vv
ID,C屬於ID在指數
那麼如何按年份選擇所有的ID順序?
我寫嵌入C語言程序與下面的表一個SQL:在A,BSQL排名好幾桌
table index:id, xx
table a:id, year, yy
table b:id, year, zz
table c:id, year, vv
ID,C屬於ID在指數
那麼如何按年份選擇所有的ID順序?
你的問題不是很清楚你後面的是什麼。從表面上看,一個可能的答案可能是:
SELECT i.id, i.xx, a.year, a.yy
FROM index AS i
JOIN a ON i.id = a.id
UNION
SELECT i.id, i.xx, b.year, b.zz
FROM index AS i
JOIN b ON i.id = b.id
UNION
SELECT i.id, i.xx, c.year, c.vv
FROM index AS i
JOIN c ON i.id = c.id
ORDER BY year, id;
如果所有表的A,B,和C加入到指數單行,那麼有替代查詢(使用多個連接,可能是他們中的一些是LEFT OUTER加入)。如果由yy
,zz
和vv
表示的列不兼容,則需要指定如何處理它們(或者簡單地將它們留在查詢之外)。
a,b,c中是否可以存在同一個id?一些示例數據可能有幫助 – Blorgbeard