对于MySql,如果不为null,则无法仅使用简单的

对于MySql,如果不为null,则无法仅使用简单的,mysql,sql,Mysql,Sql,我在我的店铺表中添加了一个名为“个人id”的字段。如果personal_id字段包含一个id,我想做的是获取上述信息。我将如何实现这一点?一些例子或提示将是伟大的!我很想听到你的消息 试试这个 如果您想加入my_shop3的个人id,请使用下面的 SELECT `a`.`id` AS `id`, `a`.`info` AS `info`, `a`.`type` AS `type`, `a`.`disp` AS `disp`, `

我在我的店铺表中添加了一个名为“个人id”的字段。如果personal_id字段包含一个id,我想做的是获取上述信息。我将如何实现这一点?一些例子或提示将是伟大的!我很想听到你的消息

试试这个

如果您想加入my_shop3的个人id,请使用下面的

SELECT `a`.`id`   AS `id`, 
       `a`.`info` AS `info`, 
       `a`.`type` AS `type`, 
       `a`.`disp` AS `disp`, 
       `a`.`emp`  AS `emp`, 
       `a`.`tel`  AS `tel`, 
       `a`.`img`  AS `img`, 
       `a`.`job`  AS `job` 
FROM ((`my_shop` `a` 
       LEFT JOIN `my_shop2` `b` 
           ON(( `a`.`id` = `b`.`my_shop_id` ))) 
       JOIN `my_shop3` `c` 
           ON(( Ifnull(`b`.`my_shop_id`, `a`.`id`) = `c`.`id` ))) 
SELECT a.id AS id, 
       a.info AS info, 
       a.type AS type, 
       a.disp AS disp, 
       a.emp  AS emp, 
       a.tel  AS tel, 
       a.img  AS img, 
       a.job  AS job 
FROM my_shop a  LEFT JOIN my_shop2 b ON a.id = b.my_shop_id 
       JOIN my_shop3 c ON Ifnull(b.my_shop_id, a.id) = c.id  AND a.personal_id = C.id
如果您想在
WHERE
子句中使用personal_id,请使用下面的

SELECT `a`.`id`   AS `id`, 
       `a`.`info` AS `info`, 
       `a`.`type` AS `type`, 
       `a`.`disp` AS `disp`, 
       `a`.`emp`  AS `emp`, 
       `a`.`tel`  AS `tel`, 
       `a`.`img`  AS `img`, 
       `a`.`job`  AS `job` 
FROM ((`my_shop` `a` 
       LEFT JOIN `my_shop2` `b` 
           ON(( `a`.`id` = `b`.`my_shop_id` ))) 
       JOIN `my_shop3` `c` 
           ON(( Ifnull(`b`.`my_shop_id`, `a`.`id`) = `c`.`id` ))) 
SELECT a.id AS id, 
       a.info AS info, 
       a.type AS type, 
       a.disp AS disp, 
       a.emp  AS emp, 
       a.tel  AS tel, 
       a.img  AS img, 
       a.job  AS job 
FROM my_shop a  LEFT JOIN my_shop2 b ON a.id = b.my_shop_id 
       JOIN my_shop3 c ON Ifnull(b.my_shop_id, a.id) = c.id  AND a.personal_id = C.id
选择a.id作为id,
a、 信息作为信息,
a、 类型作为类型,
a、 disp作为disp,
a、 emp作为emp,
a、 电话作为电话,
a、 img作为img,
a、 以工代赈
从我的店铺a左边加入我的店铺2 b
在Ifnull上加入my_shop3 c(b.my_shop_id,a.id)=c.id
其中a.personal_id=

请使用下面提到的代码来解决您的问题

SELECT a.id AS id, 
       a.info AS info, 
       a.type AS type, 
       a.disp AS disp, 
       a.emp  AS emp, 
       a.tel  AS tel, 
       a.img  AS img, 
       a.job  AS job 
FROM my_shop a  LEFT JOIN my_shop2 b ON a.id = b.my_shop_id 
       JOIN my_shop3 c ON Ifnull(b.my_shop_id, a.id) = c.id  
WHERE a.personal_id = <id value>
若要将
个人_id
与特定的表列值进行比较,请使用下面的where命令

SELECT 
    a.id   AS id, 
    a.info AS info, 
    a.type AS type, 
    a.disp AS disp, 
    a.emp  AS emp, 
    a.tel  AS tel, 
    a.img  AS img, 
    a.job  AS job 
FROM my_shop a 
LEFT JOIN my_shop2 b ON a.id = b.my_shop_id 
INNER JOIN my_shop3 c ON Ifnull(b.my_shop_id, a.id) = c.id
WHERE a.personal_id IS NOT NULL;
其中a.personal\u id=

请尝试此操作并让我们知道。

您有没有收到任何错误?
个人id
字段在您的查询中不会出现。请添加示例数据和预期结果。问题是我不知道如何将“personal_id”条件添加到当前查询的以下代码中,因为我完全是初学者。添加where条件如下选择
a
id
AS
id
a
info
AS
info
a
a
type
AS
type
a
disp
AS
disp
a
emp
AS
emp
a
tel
AS
tel
a
img
AS
img
a
b
on(
a
b
我的店铺id
)加入
我的店铺3
c
on(
b
我的店铺id
=
c
id
),其中
a
个人id
=X