我有3个表,我需要有关如何从中获取数据的建议。
details_varchar
details_int
details_date
每个都有value_id
[Int]和value_name
[value_name类型因表名而异 - Varchar,Int,Date]
value_id
。即,从1到n的ID根据其数据类型存储在这些表中。如果value_id = 1且value_name [type] = int,则它存储在details_int表中。 select value_name from 3 tables[may appear in any one of the table] where value_id = '[I have this value stored in a variable]'
UNION
- 但所有表都需要具有相同的列类型。
JOINS
- 所有字段都应该连接。[我猜]
答案 0 :(得分:1)
SELECT value_name
FROM ( SELECT value_name
FROM details_varchar
WHERE value_id = {$int_value_id}
UNION ALL
SELECT value_name
FROM details_int
WHERE value_id = {$int_value_id}
UNION ALL
SELECT value_name
FROM details_date
WHERE value_id = {$int_value_id}) AS h
这可以给你你想要的东西吗?