我在 MySQL 中运行搜索查询以从产品和价目表表中返回项目。当用户进行搜索查询时,我需要从产品表中获取产品 LEFT JOINED 与来自第二个表(任意数量的卖家)的所有授权/解锁卖家。
我有基本的搜索查询工作,但我无法让“动态左联接”工作。我在准备声明中被告知要这样做,我(a)正在努力(第一次)并且我不知道在工作时把它放在哪里。
我的搜索查询将如下所示:
SELECT articles AS art
<< need to left join here >>
FROM bigtable AS bt
WHERE
a lot of other criteria
Run Code Online (Sandbox Code Playgroud)
这是我想出的准备声明:
SET @sql_text := '
DECLARE strCount INT DEFAULT 1;
SELECT sid, ifnull(pricelist,"BASE"), count(*) AS recs
FROM buyerList AS b
LEFT JOIN sellerList AS s ON s.sid = b.sid AND s.pass = b.pass
WHERE b.bid = ?
SET @string = "LEFT JOIN preislisten AS p";
lj:
LOOP
SET @string = CONCAT( …
Run Code Online (Sandbox Code Playgroud) 我正在运行 MySQL 5.0.88 (Coldfusion8)
我有一个产品搜索,我正在查询number-of-results
以及min/max prices/rebates
整个产品表。我还想包含一个 的字符串distinct sizes/colors
,这样我就可以在显示结果的同时更新我的搜索条件。
但是我的 GROUP_CONCAT 没有返回所有预期值。我不知道我错过了什么,但它似乎只返回不同的min/max
尺寸/颜色,而不是返回all
整个记录集的不同尺寸/颜色。
我的产品表:
CREATE TABLE dummy (
`id` INT(11) NOT NULL AUTO_INCREMENT,
`iln` VARCHAR(13) NULL DEFAULT NULL,
`ean` VARCHAR(35) NULL DEFAULT NULL,
`artikelnummer` VARCHAR(35) NULL DEFAULT NULL,
`groesse` VARCHAR(10) NULL DEFAULT NULL,
`farbe` VARCHAR(35) NULL DEFAULT NULL,
`farbnummer` VARCHAR(10) NULL DEFAULT NULL,
`preis_ek` DECIMAL(12,2) NULL DEFAULT NULL,
`preis_vk` DECIMAL(12,2) NULL DEFAULT NULL,
`preis_aktuell` DECIMAL(12,2) NULL DEFAULT NULL,
`firma` VARCHAR(35) NULL DEFAULT …
Run Code Online (Sandbox Code Playgroud)