合并两个MySQL查询并替换结果

合并两个MySQL查询并替换结果,mysql,Mysql,我想找到一种方法来使用一个查询,当它=Y时,我将替换LineUps.DIG输出。我想在html中标记为星号。也许在前端执行此操作比在sql查询中更好 Fist查询工作并返回数据 $stmt = $conn->prepare("SELECT distinct Channel_LineUps.channel, Channel_LineUps.description, Channel_LineUps.Tier, LineUps.HD, LineUps.DIG FROM Channel_LineU

我想找到一种方法来使用一个查询,当它=Y时,我将替换LineUps.DIG输出。我想在html中标记为星号。也许在前端执行此操作比在sql查询中更好

Fist查询工作并返回数据

$stmt = $conn->prepare("SELECT distinct Channel_LineUps.channel, Channel_LineUps.description, Channel_LineUps.Tier, LineUps.HD, LineUps.DIG FROM Channel_LineUps, LineUps WHERE (LineUps.Market_ID = Channel_LineUps.Market_ID AND Channel_LineUps.Market_ID = 28) ORDER BY Channel_LineUps.Tier ASC"); 
第二个查询是替换,但不确定如何与上面的查询合并

SELECT DIG,REPLACE(DIG,"Y","*") as output FROM LineUps WHERE DIG="Y");
我想这就是你想要的:

$sql = <<<SQL
SELECT DISTINCT Channel_LineUps.channel, Channel_LineUps.description,
Channel_LineUps.Tier, LineUps.HD,
CASE LineUps.DIG WHEN "Y" THEN REPLACE(LineUps.DIG, "Y", "*") ELSE LineUps.DIG END
FROM Channel_LineUps, LineUps
WHERE (LineUps.Market_ID = Channel_LineUps.Market_ID
AND Channel_LineUps.Market_ID = 28)
ORDER BY Channel_LineUps.Tier ASC
SQL;

$stmt = $conn->prepare($sql);

您肯定知道它的价值。

Hmmm,目前似乎不起作用。我将看看这是否需要稍微修改,因为需要在php脚本中进行查询。我没有提到DIG有两个值。是或否。我想知道我是否需要以某种方式解释N。我根本不想打印N。只希望获取Y的任何结果并替换为*您可以在where子句中添加LineUps.DIG=Y。抱歉,这不起作用。我想知道是否应该使用php代码来进行替换。我需要做些调查。
CASE LineUps.DIG WHEN "Y" THEN "*" ELSE LineUps.DIG END