Domanda

I need to perform the following query:

SELECT ID FROM tbl_a WHERE (fld_merchID, 'something') IN
(SELECT MerchID, MAX(Priority) FROM tbl_b WHERE Name LIKE 'AAA.com')

as you can image, there's no 'Priority' field in tbl_a. (I need to select the MerchID with the higher Priority value).

That query is returning empty and it shouldn't.

I'm not sure how to do it.

Thanks!

È stato utile?

Soluzione

If you want the one with the max priority, then you need to change your subquery pretty significantly to choose the MerchID with the highest priority:

SELECT ID FROM tbl_a WHERE fld_merchID IN (
  SELECT DISTINCT MerchID
  FROM tbl_b
  INNER JOIN (
    SELECT Name, MAX(Priority) as Priority
    FROM tbl_b 
    WHERE Name LIKE 'AAA.com'
    GROUP BY Name
  ) mx ON mx.Name = tbl_b.Name AND mx.Priority = tbl_b.Priority
)

Altri suggerimenti

try this ,

 SELECT ID FROM tbl_a WHERE fld_merchID IN
(SELECT MerchID, MAX(Priority) FROM tbl_b  WHERE Name LIKE 'AAA.com')
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top