SQL 追加条件
SQL Append criteria
我需要知道在哪里可以找到 Xy Street,我有 3 个 table。
select t.nev
from hospital.person sz, hospital.place t, hospital.member ti
where 1=1
and sz.residence_placeid=t.placeid
and sz.residence_placeid=ti.placeid
and t.placeid=ti.placeid
and t.street like 'Xy Street %'
order by t.street
也可以在 table sz 和 ti 中找到地址。我的问题是如何将这些附加到标准(如联合或类似的东西)
首先,您应该避免在 FOR
语句中使用逗号,因为它会使查询难以阅读,并且这种查询方式已被弃用。相反,使用明确的 JOIN
。关于您的问题,如果其他两个表也有地址的 street
列,那么您只需在 WHERE
子句中再添加两个条件即可。修改后的查询可能如下所示:
SELECT t.nev
FROM hospital.person sz INNER JOIN hospital.place t
ON sz.residence_placeid = t.placeid
INNER JOIN hospital.member ti
ON sz.residence_placeid = ti.placeid AND t.placeid=ti.placeid
WHERE t.street like 'Xy Street %' OR
sz.street LIKE 'Xy Street %' OR
ti.street LIKE 'Xy Street %' OR
ORDER BY t.street
我需要知道在哪里可以找到 Xy Street,我有 3 个 table。
select t.nev
from hospital.person sz, hospital.place t, hospital.member ti
where 1=1
and sz.residence_placeid=t.placeid
and sz.residence_placeid=ti.placeid
and t.placeid=ti.placeid
and t.street like 'Xy Street %'
order by t.street
也可以在 table sz 和 ti 中找到地址。我的问题是如何将这些附加到标准(如联合或类似的东西)
首先,您应该避免在 FOR
语句中使用逗号,因为它会使查询难以阅读,并且这种查询方式已被弃用。相反,使用明确的 JOIN
。关于您的问题,如果其他两个表也有地址的 street
列,那么您只需在 WHERE
子句中再添加两个条件即可。修改后的查询可能如下所示:
SELECT t.nev
FROM hospital.person sz INNER JOIN hospital.place t
ON sz.residence_placeid = t.placeid
INNER JOIN hospital.member ti
ON sz.residence_placeid = ti.placeid AND t.placeid=ti.placeid
WHERE t.street like 'Xy Street %' OR
sz.street LIKE 'Xy Street %' OR
ti.street LIKE 'Xy Street %' OR
ORDER BY t.street