2017-07-03 1 views
-2
SELECT `acart`.`order_number` AS `admin_order_number`, 
     `acart`.`user_id` AS `admin_user_id`, 
     `acart`.`created_by` AS `admin_created_by`, 
     `rcart`.`order_number` AS `renew_order_number`, 
     `rcart`.`user_id` AS `renew_user_id`, 
     `rcart`.`created_by` AS `renew_created_by`, 
     `scart`.`order_number` AS `shopping_order_number`, 
     `scart`.`user_id` AS `shopping_user_id`, 
     `scart`.`created_by` AS `shopping_created_by` 
FROM `cdp_order_transaction_master` AS `master` 
LEFT JOIN `cdp_admin_shopping_cart` AS `acart` 
    ON `acart`.`order_number`=`master`.`order_number` 
LEFT JOIN `cdp_renew_cart` AS `rcart` 
    ON `rcart`.`order_number`=`master`.`order_number` 
LEFT JOIN `cdp_shopping_cart` AS `scart` 
    ON `scart`.`order_number`=`master`.`order_number` 
WHERE master.order_number IS NULL 

Lassen Sie mich mein Problem erklären, wenn der Auftrag erfolgreich ist, dann wird es Tisch und andere 3-Tabelle cdp_order_transaction_master geht (cdp_admin_shopping_cart, cdp_renew_cart, cdp_shopping_cart) je nach Situation aber, wenn der Auftrag dann scheitert es wird nicht in anderen Tabellen gehen Tabelle cdp_order_transaction_master und bleiben, so möchte ich die ausgefallene Ordnung, die nicht in cdp_order_transaction_master ist und alle anderen Tabellen sind in kann (cdp_admin_shopping_cart, cdp_renew_cart, cdp_shopping_c Kunst)Was ist mit dieser Abfrage falsch? ich bin immer null Ergebnis

+1

lesen Sie bitte vor Fragen veröffentlichen: https://stackoverflow.com/help/mcve –

+0

Bist du sicher, Sie wollen nicht, dass WHERE master.order_number nicht NULL ist? –

+0

Ja, ich will nur NULL, ich bearbeite meine Frage zum besseren Verständnis, bitte lesen Sie es einmal. –

Antwort

2

WHERE master.order_number IS NULL

Dies ist Ihr primärer Tisch, ein d Die Join-Bedingung für alle anderen Tabellen befindet sich in dieser Spalte.

Sie versuchen null beitreten

Basierend auf Ihren Kommentar zu null, versuchen:

select 'cdp_admin_shopping_cart' as `err_table`, a1.order_number 
from cdp_admin_shopping_cart a1 
where not exists (select 1 from cdp_order_transaction_master a2 where a2.order_number = a1.order_number) 

union all 

select 'cdp_renew_cart' as `err_table`, a1.order_number 
from cdp_renew_cart a1 
where not exists (select 1 from cdp_order_transaction_master a2 where a2.order_number = a1.order_number) 

union all 

select 'cdp_shopping_c‌​art' as `err_table`, a1.order_number 
from cdp_shopping_c‌​art a1 
where not exists (select 1 from cdp_order_transaction_master a2 where a2.order_number = a1.order_number) 
+0

lassen Sie mich mein Problem erklären, wenn die Reihenfolge erfolgreich ist, dann wird es zu cdp_order_transaction_master Tabelle und anderen 3 Tabelle (cdp_admin_shopping_cart, cdp_renew_cart, cdp_shopping_cart) abhängig von der Situation, aber wenn die Bestellung fehlschlagen dann wird es nicht gehen cdp_order_transaction_master Tabelle und bleiben in anderen Tabellen –

+0

, also ich will die fehlgeschlagene Reihenfolge, die nicht in cdp_order_transaction_master vorhanden ist und in anderen Tabellen (cdp_admin_shopping_cart, cdp_renew_cart, cdp_shopping_cart) –

+0

über Abfrage kann nicht in mysql arbeiten –

Verwandte Themen