Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/83.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql 需要数据库中多个相似数据中的单个数据_Sql - Fatal编程技术网

Sql 需要数据库中多个相似数据中的单个数据

Sql 需要数据库中多个相似数据中的单个数据,sql,Sql,我想找出在这样的多个条目中显示的数据 5 296 19 7 887 DAAS GAGO {"password":""} 2017-06-24 13:33:15 2017-06-23 13:33:09 9 10 fuel 4 1 N125XP DAAS Requested 5 296 19 7 887 DAAS GAGO {"password":""} 2017-06-24 13:33:15 2017-

我想找出在这样的多个条目中显示的数据

5   296 19  7   887 DAAS    GAGO    {"password":""}     2017-06-24 13:33:15 2017-06-23 13:33:09 9   10  fuel        4   1   N125XP  DAAS    Requested
5   296 19  7   887 DAAS    GAGO    {"password":""}     2017-06-24 13:33:15 2017-06-23 13:33:09 9   10  fuel        4   1   N125XP  DAAS    Requested
我想一次查看此数据,如何操作?
我正在使用此Sql语句执行此操作:

SELECT t1.trip_id, 
       t1.server_trip_id, 
       t1.aircraft_id,
       t2.flight_id,
       t3.server_fid,
       t3.dep,
       t3.dest,
       t3.service_provider,
       t3.flight_name,
       t3.sta,
       t3.std,
       t4.booking_id,
       t5.server_booking_id,
       t5.type,
       t5.trip_number,
       t5.company_id,
       t5.user_id,
       t5.aircraft_registration,
       t5.icao,
       t6.status
FROM trip t1 
    JOIN trip_flight t2 ON t2.trip_id = t1.trip_id
    JOIN flight t3 ON t3.fid = t2.flight_id
    JOIN trip_flight_booking t4 ON t4.flight_id = t2.flight_id
    JOIN booking t5 ON t5.booking_id = t4.booking_id OR t5.booking_id != t4.booking_id
    JOIN booking_status t6 ON t6.booking_id = t5.booking_id OR t6.booking_id != t5.booking_id
where t1.aircraft_id="19"

你确定你的联接正确吗。。。这似乎符合任何一行

t5.booking_id = t4.booking_id OR t5.booking_id != t4.booking_id
正如你所做的那样=或!=同样的价值观

也就是说,您可以使用DISTINCT

SELECT DISTINCT t1.trip_id , t1.server_trip_id, t1.aircraft_id,
t2.flight_id,
t3.server_fid,t3.dep,t3.dest,t3.service_provider,t3.flight_name,t3.sta,t3.std,
t4.booking_id,
t5.server_booking_id,t5.type,t5.trip_number,t5.company_id,t5.user_id,t5.aircraft_registration,t5.icao,
t6.status
    FROM trip t1 
    JOIN trip_flight t2 ON t2.trip_id = t1.trip_id
    JOIN flight t3 ON t3.fid = t2.flight_id
    JOIN trip_flight_booking t4 ON t4.flight_id = t2.flight_id
    JOIN booking t5 ON t5.booking_id = t4.booking_id OR t5.booking_id != t4.booking_id
    JOIN booking_status t6 ON t6.booking_id = t5.booking_id OR t6.booking_id != t5.booking_id
    where t1.aircraft_id="19"

尝试使用
不同的
,尽管,更好的解决方案是尝试并理解为什么您会获得多条记录。因为我使用的数据库很旧,并且有多个状态与您在上面看到的状态类似的条目,总共有1510个结果,我获得的状态为“请求的待确认”多次删除或部分将我的结果降低到83,但是仍然有多个条目,例如:5296197887 DAAS GAGO{“密码”:“}2017-06-2413:33:152017-06-2313:33:099 13燃料41N125XP DAAS挂起此结果在任何其他状态之前挂起4次