1

User、Holiday という名前の 2 つのテーブルがあります。今の私の目的は、ユーザーを検索することです。ユーザー テーブルの名前または休日テーブルの市区町村でユーザーを検索する必要があります。名前で検索すると、ユーザー テーブルの名前と休日テーブルの市区町村が表示されます。そして、都市で検索すると、休日テーブルの都市とユーザー テーブルの彼の名前が表示されます。

ユーザーテーブル::

ホリデーテーブル ここに画像の説明を入力

私は次のことを試しました::

          SELECT * FROM `holiday`,`user` 
          WHERE holiday.UserID=user.UserID 
                and user.Name like '%Bre%' 
                or holiday.City like '%Bre%'

しかし :(

4

4 に答える 4

2

LEFTJOINを使ってほしいのですが

  SELECT user.Name,holiday.City FROM  `user` LEFT JOIN `holiday`
                  ON user.UserID  =holiday.UserID
                        WHERE (user.Name like '%Bre%' 
                        or holiday.City like '%Bre%')
于 2012-09-04T07:06:45.723 に答える
0

これを試して:

SELECT 
  * 
FROM 
  `holiday` h
LEFT JOIN 
 `user` u
ON 
  h.UserID = u.UserID
WHERE
  u.Name like '%Bre%' or h.City like '%Bre%'

テーブルが与えられた場合、結果は返されないことに注意してください。

于 2012-09-04T07:07:49.480 に答える
0

select *UserID など、2 つのテーブルに同じ名前のカラムがあるため使用できません。

これを試して:

SELECT `user`.userID, `user`.Name, `holiday`.city 
FROM `holiday`,`user` 
WHERE holiday.UserID=user.UserID 
      and user.Name like '%Bre%' 
      or holiday.City like '%Bre%'
于 2012-09-04T07:04:00.767 に答える
0

試す:

      SELECT * FROM `user` left join `holiday` on holiday.UserID=user.UserID 
      WHERE user.Name like '%Bre%' 
            or holiday.City like '%Bre%'
于 2012-09-04T07:04:24.697 に答える