【发布时间】:2009-08-31 18:04:37
【问题描述】:
我正在连接对 mysql 数据库的访问。
我需要把两个语句放在一起,然后合二为一。
例如:
SELECT
users.id,
users.first,
users.last,
chavrusas.luser_type AS user_type,
chavrusas.id,
users.title,
users.city,
users.state,
users.home_phone,
users.email
FROM users
INNER JOIN chavrusas
ON Users.id=chavrusas.luser_id
WHERE ((chavrusas.ruser_id)='3166' and chavrusas.ended=false)
AND (chavrusas.luser_type) <> (chavrusas.ruser_type)
AND NOT ((chavrusas.luser_type)='teacher' AND (chavrusas.ruser_type)='student')
AND NOT ((chavrusas.ruser_type)='teacher' AND (chavrusas.luser_type)='student');
UNION
SELECT
users.id,
users.first,
users.last,
chavrusas.ruser_type AS user_type,
chavrusas.id,
users.title,
users.city,
users.state,
users.home_phone,
users.email
FROM users
INNER JOIN chavrusas
ON Users.id=chavrusas.ruser_id
WHERE ((chavrusas.luser_id)='3166' and chavrusas.ended=false)
AND (chavrusas.luser_type) <> (chavrusas.ruser_type)
AND NOT ((chavrusas.luser_type)='teacher' AND (chavrusas.ruser_type)='student')
AND NOT ((chavrusas.ruser_type)='teacher' AND (chavrusas.luser_type)='student')
ORDER BY 4;
Users 是一个查询,它是:
SELECT
tblusers.*,
tblusershliach.*,
tbluserstudent.*,
tbluserstudentteacher.*,
tbluserteacher.*
FROM
(
(
(tblusers
LEFT JOIN tblusershliach
ON tblusers.id = tblusershliach.shliach_user_id
)
LEFT JOIN tbluserstudent
ON tblusers.id = tbluserstudent.student_user_id
)
LEFT JOIN tbluserstudentteacher
ON tblusers.id = tbluserstudentteacher.student_teacher_user_id
)
LEFT JOIN tbluserteacher
ON tblusers.id = tbluserteacher.teacher_user_id;
我不想在第一个语句中使用“用户”,我只想将它们放在一个语句中
我该怎么做?
【问题讨论】:
-
@Welbog:你用什么格式化 SQL?
-
@Welbog:当然,我不使用其他工具在这里输入。我想知道,如果您使用任何工具来格式化 SQL :)
-
@shahkalpesh:没什么特别的,只是我的键盘。 SQL 并没有真正的标准格式化方式,而且我从来没有遇到过输出很好的 SQL 格式化程序,所以我手动完成。
-
@Welbog:除了点赞之外,我希望我能给你点数。谢谢!!
-
这些表是否是 Access 本地的,或者您是否将所有这些表从 Access 链接到 mysql?如果这是对 mysql 的直通查询,您可能希望将整个 sql 作为一条语句并加入两个本地查询。