我如何使用两个WHERE子句,包括两个表,其中一列在查询


How do I use 2 WHERE clauses including two tables wherein a column in a Query

我尝试在不同的表中使用不同的列。比如我想让它运行查询If或Where [table。column]

users.username = 'ExampleUsername' AND users.cardnumber = ''

我不认为我可以使用NULL代替",因为它是一个空文本字符串?

users.cardnumber = NULL

无论如何,我不能再这样说了:

INSERT INTO users (cardnumber, hasone)
WHERE users.username = 'ExampleName' AND users.cardnumber = ''
SELECT number, sethasone
FROM cards
WHERE cards.used = '0'
LIMIT 1

我对SQL有点陌生,但在我掌握了它之后,我可以把代码放入我的php脚本中。

- - -解决了!:

我为每列使用了两个查询。

update users
set hasone=(select sethasone from cards where used='0' LIMIT 1)
where username='TestUser'

update users
set cardnumber=(select number from cards where used='0' LIMIT 1)
where username='TestUser'

然后我从cards中删除这一行,就完成了。

delete from cards
where used = '1'
LIMIT 1

我为用户提供了卡片表中的卡号,并删除了卡片表中的那一行。

我想你正试图写一个嵌套查询,但你不知道如何写它。如果您想在插入或更新查询中编写选择查询,那么在此之前请点击这里阅读子查询或嵌套查询

嗯,我认为您正在尝试在2个表之间重新创建JOIN。您需要做的是在users表中添加一个"card_id"字段。然后获取用户和卡片你可以这样做:

SELECT * FROM users u LEFT JOIN cards c ON c.id = u.card_id