sql嵌入在c程序中排名的几个表

时间:2012-06-19 21:08:40

标签: sql c

我正在编写一个嵌入在C程序中的SQL,其中包含以下表格:

table index:id, xx

table a:id, year, yy

table b:id, year, zz

table c:id, year, vv

a,b,c中的id属于索引

中的id

那么如何按年份选择所有的ID顺序?

1 个答案:

答案 0 :(得分:0)

你对自己所追求的内容不是很清楚。从表面上看,一个可能的答案可能是:

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中的所有表都连接到Index中的单个行,则会有其他查询(使用更多联接,可能其中一些是LEFT OUTER JOIN)。如果yyzzvv代表的列不兼容,那么您需要指定如何处理它们(或者只是将它们排除在查询之外)。