voodo
voodo

Reputation: 15

Multi column and table sql select

Hi guys i wonder why this query won't work. I'm pretty unskilled with sql :)

$sql = "select o.item_id, o.order_id, o.qty, o.price 
         from " . mainframe()->table('order_items') . " o
         left join " . $wpdb->posts . " p
          on o.item_id = p.id
         where o.item_type = 'product'
         and (select j.user_id from ". mainframe()->table('orders') ." j where j.id = o.order_id)";

i need to get user id that is on an other table and join it other results

EDIT: the problem is that it doesn't return user_id ( no errors given )

Upvotes: 0

Views: 40

Answers (2)

Horaciux
Horaciux

Reputation: 6477

$sql = "select  o.item_id, o.order_id, o.qty, o.price, j.user_id 
         from " . mainframe()->table('order_items') . " o
         left join " . $wpdb->posts . " p
          on o.item_id = p.id
           left join ". mainframe()->table('orders') ." j onj.id = o.order_id
         where o.item_type = 'product'";

Upvotes: 0

Michael
Michael

Reputation: 101

Try this:

 $sql = "select 
             j.user_id as user_id, 
             o.item_id as item_id, 
             o.order_id as order_id, 
             o.qty as qty, 
             o.price as price
          from " . mainframe()->table('order_items') . " o
          left join " . $wpdb->posts . " p
              on o.item_id = p.id
          where 
                  o.item_type = 'product'
              and (
                    select j.user_id 
                    from ". mainframe()->table('orders') ." j 
                    where j.id = o.order_id
                  )";

Upvotes: 1

Related Questions