我的数据库有四个表格,分别是物理,化学,生物和数学。每个表都有相同的列名,如studentName,registrationNumber,mark。 我的问题是,当我使用registrationNumber搜索时,我希望在每个表中获得每个标记字段。我该如何查询这种方式?请用简单的例子解释一下。在此先感谢(此示例仅用于出现问题的目的)
答案 0 :(得分:1)
我同意@NareshKumar认为标准化是一种选择。但是,如果您必须使用当前架构,则可以执行UNION
查询:
SELECT studentName, registrationNumber, mark, 'physics' AS class
FROM physics
WHERE registrationNumber = N
UNION ALL
SELECT studentName, registrationNumber, mark, 'chemistry' AS class
FROM chemistry
WHERE registrationNumber = N
SELECT studentName, registrationNumber, mark, 'biology' AS class
FROM biology
WHERE registrationNumber = N
SELECT studentName, registrationNumber, mark, 'maths' AS class
FROM maths
WHERE registrationNumber = N
答案 1 :(得分:1)
我们似乎对@Tim Biegeleisen
有了同样的想法,并且他做得更好,所以我只会将您重定向到his answer。
答案 2 :(得分:0)
您应该使用规范化将标记存储在单个表格中,而不是为每个主题制作不同的表格Normalization