我有sql查询,搜索两个tables.city和country
这个城市有两种语言,还有国家
所以我有4个城市的城市和城市,乡村和国家
因为我没想到用户使用任何语言,所以我使用条件or
但我有sql错误..所以如何做到这一点
select * FROM d_cities
WHERE City='algeria center'
OR ar_city='الجزائر العاصمة الجزائر'
JOIN d_country
ON d_country.Country = 'algeria'
OR d_country.ar_country='ألجزائر'
答案 0 :(得分:1)
对于内部联接,谓词(条件)可以在join的on子句中,(下面假设ar_city
和city
列在d_cities
中)。
Select * FROM d_cities c
JOIN d_country n
ON (n.Country = 'algeria'
Or n.ar_country='ألجزائر')
And (c.City = 'algeria center'
Or c.ar_city = 'الجزائر العاصمة الجزائر')
或在查询的Where子句中但是where子句必须在连接之后。
Select * FROM d_cities c
JOIN d_country n
ON n.Country = 'algeria'
Or n.ar_country = 'ألجزائر'
WHERE City = 'algeria center'
OR ar_city = 'الجزائر العاصمة الجزائر'
答案 1 :(得分:0)
您需要在WHERE
:
JOIN
子句
select d_cities.* FROM d_cities
JOIN d_country
ON d_country.Country = 'algeria'
OR d_country.ar_country='ألجزائر'
WHERE d_cities.City='algeria center'
OR d_cities.ar_city='الجزائر العاصمة الجزائر'
您可以从任一表中返回任何列 - 此版本仅从d_cities返回所有列。