MySQL "IST" äquivalent?
Vor einer Weile arbeitete ich auf einer MS-SQL Projekt und ich erinnere mich an die "IN" Sache. Ich versuchte es auf eine MySQL-Projekt und es hat nicht funktioniert.
Gibt es ein äquivalent? Workaround?
Hier ist die vollständige Abfrage, die ich versuche zu laufen:
SELECT *
FROM product_product, product_viewhistory, product_xref
WHERE
(
(product_viewhistory.productId = product_xref.product_id_1 AND product_xref.product_id_2 = product_product.id)
OR
(product_viewhistory.productId = product_xref.product_id_2 AND product_xref.product_id_1 = product_product.id)
)
AND product_product.id IS IN
(SELECT DISTINCT pvh.productId
FROM product_viewhistory AS pvh
WHERE pvh.cookieId = :cookieId
ORDER BY pvh.viewTime DESC
LIMIT 10)
AND product_viewhistory.cookieId = :cookieId
AND product_product.outofstock='N'
ORDER BY product_xref.hits DESC
LIMIT 10
Es ist ziemlich groß ... aber der Teil, ich bin sehr interessiert, ist:
AND product_product.id IS IN
(SELECT DISTINCT pvh.productId
FROM product_viewhistory AS pvh
WHERE pvh.cookieId = :cookieId
ORDER BY pvh.viewTime DESC
LIMIT 10)
Die im Grunde sagt, ich möchte die Produkte werden in die "top 10" der sub-Abfrage.
Wie würden Sie erreichen, dass Sie mit MySQL (während Sie versuchen, effizient zu sein)?
Ist es nicht das gleiche als 'in' in MySQL?
IN ist, was du suchst, aber sollte dies wirklich umgesetzt werden, mithilfe einer JOIN statt Unterabfrage.
Beraten Sie bitte auf den "BEITRETEN". Da sowieso mysql nicht erlaubt, die "GRENZE" innerhalb "IN". Also ich kann an BEITRETEN?
ich denke, dass ich es herausgefunden, danke
IN ist, was du suchst, aber sollte dies wirklich umgesetzt werden, mithilfe einer JOIN statt Unterabfrage.
Beraten Sie bitte auf den "BEITRETEN". Da sowieso mysql nicht erlaubt, die "GRENZE" innerhalb "IN". Also ich kann an BEITRETEN?
ich denke, dass ich es herausgefunden, danke
InformationsquelleAutor Nathan H | 2010-04-16
Du musst angemeldet sein, um einen Kommentar abzugeben.
Du suchst
IN
:"Diese version von MySQL noch nicht unterstützt, 'LIMIT & IN/alle/ALLE/EINIGE Unterabfrage'". Ich denke, das ist ein anderes Thema ...
InformationsquelleAutor davidtbernal
Versuchen
IN
(nicht "ist")InformationsquelleAutor nickf