我正在尝试使用三个表来选择数据。我需要从一个演员和合约表中获得一个股票编号和合约日期,其中电影的名称= x来自电影表。
我做了:
SELECT equity_number, contract_date
FROM actor,
contract,
film
WHERE actor.equity_number = contract.equity_number
and title = 'x'
虽然我得到一个含糊不清的列错误。
答案 0 :(得分:1)
您与电影桌没有任何关系。 并使用现代的方式编写sql:)
SELECT a.equity_number, c.contract_date
FROM actor a
INNER JOIN contract c on a.equity_number = c.equity_number
INNER JOIN film f on f.SOMERELATIONSHIPID = c.SOMERELATIONSHIPID
WHERE f.title = 'x'
答案 1 :(得分:0)
我建议您使用JOINS
而不是旧的逗号分隔语法。在为每个表设置别名并在选择列表中使用这些别名之后。类似的东西:
SELECT a.equity_number,
c.contract_date
FROM actor a
LEFT JOIN contract c ON a.equity_number = c.equity_number
LEFT JOIN film f ON a.film_id = f.id -- there should be related columns
AND f.title = 'x'