PostgreSQL
 sql >> Baza danych >  >> RDS >> PostgreSQL

DOŁĄCZ do wielu tabel na podstawie znacznika czasu i innego warunku

Dodając date i time pole otrzymasz sygnaturę czasową, którą możesz porównać dla dołączenia. więc możesz napisać swoje zapytanie jak poniżej:

select 
t1.userid, t1.date_in, t1.check_in, t2.checktime, t3.alias
from process t1
inner join checkinout t2 on t2. checktime= date_in + check_in and t1.userid=t2.userid
inner join table3 t3 on t2.sn=t3.sn

DEMO

Odnośnie twojego błędu, o którym wspomniałeś w swoim pytaniu ERROR: more than one row returned by a subquery used as an expression wynika z warunku dołączenia, którego użyłeś.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Jak używać pętli for SQL do wstawiania wierszy do bazy danych?

  2. PostgresQL SQL:Konwersja wyników do tablicy

  3. Jak Cotd() działa w PostgreSQL

  4. Nie mogę zainstalować pg gem na Mountain Lion

  5. ALTER TABLE, aby dodać nową kolumnę na ograniczonej przestrzeni dyskowej