字符串作为mysql表名

时间:2015-09-07 19:45:09

标签: mysql sql

它自己的查询将解释我所处的位置,我无法更改架构,有没有办法使用我从if语句中获取的表名并继续查询?

SELECT *,IF(user.type = 1,"staff","admin") as "table" FROM user WHERE "table".user_id = user.id

http://sqlfiddle.com/#!9/842be4/1

我尝试设置一个变量,但仍然没有成功。有任何想法吗 ? 谢谢。

2 个答案:

答案 0 :(得分:5)

您希望拥有像

这样的动态查询
create_table "appointments", force: :cascade do |t|
  t.integer "user_id"
  t.text    "comments"
  t.time    "start_time"
  t.time    "end_time"
end

答案 1 :(得分:1)

我相信这会给你你想要的东西。

SELECT * FROM user INNER JOIN staff on user.id = staff.user_id UNION

SELECT * FROM user INNER JOIN admin on user.id = admin.user_id