Microsoft SQL代码在转换为MySQL时无法运行

oknwwptz  于 2022-12-10  发布在  Mysql
关注(0)|答案(1)|浏览(132)

我有一段Microsoft SQL代码,我正试图在MySQL(MariaDB 5.5.68)中使用。我尝试了一千种方法,但都无济于事。

  1. SELECT t.title_id, t.title_name, p.pub_name,
  2. select a.au_fname + ' ' + a.au_lname from authors a
  3. join title_authors ta on a.au_id = ta.au_id
  4. where ta.au_order = 1 and ta.title_id = t.title_id)
  5. as author_1, isnull ((
  6. select a.au_fname + ' ' + a.au_lname from authors a
  7. join title_authors ta on a.au_id = ta.au id
  8. where ta.au_order = 2 and ta.title_id = t.title_id), '')
  9. as author_2, isnull((
  10. select a.au_fname + ' ' + a.au_lname from authors a
  11. join title_authors ta on a.au_id = ta.au_id
  12. where ta.au_order = 3 and ta.title_id = t.title_id), '')
  13. as author_3 from titles t
  14. join publishers p
  15. on p.pub_id = t.pub_id;

请救救我!

  1. SELECT t.title_id, t.title_name, p.pub_name,
  2. (SELECT CONCAT(a.au_fname, ' ', a.au_lname)
  3. from authors a
  4. JOIN title_authors ta ON a.au_id = ta.au_id
  5. WHERE ta.au_order = 1 and ta.au_id = t.title_id) as author_1,
  6. ISNULL((
  7. SELECT CONCAT(a.au_fname, a.au_lname)
  8. from authors a
  9. JOIN title_authors ta ON a.au_id = ta.au_id
  10. WHERE ta.au_order = 2 and ta.au_id = t.title_id),'') as author_2,
  11. ISNULL((
  12. SELECT CONCAT(a.au_fname, a.au_lname)
  13. from authors a
  14. JOIN title_authors ta ON a.au_id = ta.au_id
  15. WHERE ta.au_order = 3 and ta.au_id = t.title_id),'') as author_3
  16. FROM titles t
  17. JOIN publishers p
  18. ON p.pub_id = t.pub_id;

这将生成一个第一列为NULL、后两列为空的表。

wlzqhblo

wlzqhblo1#

@JJ32给出了答案。我在比较两个不同的栏目。以下是工作代码:

  1. SELECT t.title_id, t.title_name, p.pub_name,
  2. (SELECT CONCAT(a.au_fname, ' ', a.au_lname)
  3. from authors a
  4. JOIN title_authors ta ON a.au_id = ta.au_id
  5. WHERE ta.au_order = 1 and ta.title_id = t.title_id) as author_1,
  6. IFNULL((
  7. SELECT CONCAT(a.au_fname, a.au_lname)
  8. from authors a
  9. JOIN title_authors ta ON a.au_id = ta.au_id
  10. WHERE ta.au_order = 2 and ta.title_id = t.title_id),'') as author_2,
  11. IFNULL((
  12. SELECT CONCAT(a.au_fname, a.au_lname)
  13. from authors a
  14. JOIN title_authors ta ON a.au_id = ta.au_id
  15. WHERE ta.au_order = 3 and ta.title_id = t.title_id),'') as author_3
  16. FROM titles t
  17. JOIN publishers p
  18. ON p.pub_id = t.pub_id;
展开查看全部

相关问题