小编fre*_*ent的帖子

我可以在 MySQL SELECT 中执行准备好的语句吗?

我在 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 stored-procedures prepared-statement

7
推荐指数
2
解决办法
3万
查看次数

如何在获取记录数和最小值/最大值的 MySQL 查询中使用 GROUP_CONCAT DISTINCT 值?

我正在运行 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)

mysql query subquery select

6
推荐指数
1
解决办法
3万
查看次数