我有一个名为movie的表,该表包含两列id_pelicula(电影ID)和titulo(电影名称),它具有以下行。

(电影桌)

mysql - 从一个表中选择所有行,只要该ID在第二个表中不代表null-LMLPHP

接下来,我有第二张表称为借项,其中包含借用某些电影的日期和退还电影的日期。如果电影已借出但未归还,则归还日期为NULL。表中的列是id_bitacora_prestamo(借用的ID),RFC(代表拥有电影的人的字符串),id_pelicula(电影ID),fecha_prestamo(借用的日期),fecha_retorno(借出的日期)。它具有以下行。

(表借)

mysql - 从一个表中选择所有行,只要该ID在第二个表中不代表null-LMLPHP

我想选择所有可用的电影,换句话说,就是从表电影中选择所有行,只要它们的id_pelicula(movie id)不在表借阅中,并且id_pelicula(movie_id)是否存在在表借阅中,仅选择fecha_retorno(返回的日期)是否为非空。

在我的表格中,该示例应返回电影:


  星球大战:第四集-新希望
  
  回到未来


(对不起,我的英语)

最佳答案

检查这一项是否有效:

select titulo from movies where id_pelicula in
(select id_pelicula from borrowment where fecha_retorno is not null) or
id_pelicula not in (select id_pelicula from borrowment);

关于mysql - 从一个表中选择所有行,只要该ID在第二个表中不代表null,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/46634169/

10-16 13:17