我对MySQL很陌生,我正在努力解决这个问题。我有两个不同的表(T1和T2),T2有来自T1的所有元素,还有一些额外的表。
我正试图从T2获取T1的所有值的变量“company”,例如:
SELECT
T2.company as company,
T1.route as route,
T1.departure_time,
T1.arrival_time
满足某些条件时,例如:
T1.route LIKE(CONCAT(T2.airport1,T2.airport2)) AND
T1.departure_time = T2.departure_time AND
T1.arrival_time = T2.arrival_time
我该怎么做?对不起基本问题,但我现在非常绝望。非常感谢你。
OBS:是的,不好的一点是两张表来自不同的来源,没有唯一的关键值来加入它们,所以这就是为什么我要在所有这些条件下挣扎......
答案 0 :(得分:0)
你试过这个吗?
SELECT
T2.company as company,
T1.route as route,
T1.departure_time,
T1.arrival_time
from
t1,t2
where
T1.route LIKE(CONCAT(T2.airport1,T2.airport2)) AND
T1.departure_time = T2.departure_time AND
T1.arrival_time = T2.arrival_time
答案 1 :(得分:0)
您可以在ON子句中添加条件,如此
SELECT Fields
FROM T1
LEFT JOIN T2
ON T1.company=T2.company
AND T1.route LIKE(CONCAT(T2.airport1,T1.airport2))
AND T1.departure_time = T2.departure_time
AND T1.arrival_time = T2.arrival_time
也就是说,对于仅用于确保行确实连接的条件,确定要选择哪一行的条件将在WHERE子句之后。考虑下面的行,紧跟其他行
WHERE T1.company='airFoo'