1
我在数据库的不同表中有3列。表名和数字可以是任何东西,所以我不能写查询来从这三列中获取数据。如何从数据库中的所有表中获取数据
查询:
SELECT first_name, last_name
FROM (table names)
WHERE email="[email protected]"
请帮助我。
感谢,
爱德华
我在数据库的不同表中有3列。表名和数字可以是任何东西,所以我不能写查询来从这三列中获取数据。如何从数据库中的所有表中获取数据
查询:
SELECT first_name, last_name
FROM (table names)
WHERE email="[email protected]"
请帮助我。
感谢,
爱德华
你可以这样做:
SELECT first_name, last_name, FromWhichTable
FROM
(
SELECT first_name, last_name, email, FromWhichTable = 1 FROM table_name1
UNION ALL
SELECT first_name, last_name, email, 2 FROM table_name2
UNION ALL
SELECT first_name, last_name, email, 3 FROM table_name3
) t
WHERE email="[email protected]"
您可以动态建立你的SQL语句。一个类似于:
DECLARE @SQL VARCHAR(4000)
SET @SQL = 'SELECT名字,姓氏FROM ....等'
EXEC(@SQL)
因此,假设您要使用的表名作为参数传递或以其他方式查找,您可以将它们包含在您在@SQL变量中构建的查询中。
你有试过什么吗? – Ric
您是否想要获得所有这些表的联合?那么你应该看看工会关键字 – Kek
http://stackoverflow.com/questions/4232626/posgresql-how-to-union-3-tables-sorted-by-date – Lojko